2011-11-17 5 views
2

추가 (또는 파일 업데이트)를 위해 내 서버의 디렉토리를 모니터하고, 무엇인가가 추가되면 PHP 스크립트를 실행하십시오.디렉토리를 모니터하고 PHP 스크립트를 실행하십시오.

나는 watch이 있다는 것을 알았지 만 정확히 어떻게 사용하는지 잘 모르겠습니다.

나는 watch -d ls -l 파일 목록의 변경 내용을 추적 할 것이라고 알고 있지만 어떻게 변경된 파일을 PHP 스크립트로 파이프합니까? 또한 새로운 파일은 아니지만 업데이트 된 파일은 어떻게 볼 수 있습니까?

최종 사용자가 쉽게 설정할 수 있도록 구성 파일 (디렉토리 등)과 함께 실행할 수 있습니까?

+1

관련 항목 : [폴더 모니터링 및 PHP의 폴더 상태에 따른 이벤트 트리거링] (http://stackoverflow.com/questions/8135842/folder-monitoring-and-event-triggering-according-to-folder-status-in) -php) – hakre

답변

2

bash 스크립트에서 inotifywait (inotify-tools)를 사용할 수 있습니다.

while read file; do 
    php some_script.php "$file" 
done < inotifywait -e create,delete,move,modify -m . --format "%w%f" $dir 

%w%f은 파일 경로를 제공합니다. 이벤트가 필요한 경우 %e을 추가하십시오. 더 많은 형식 옵션 및 이벤트 이름을 보려면 맨 페이지를 참조하십시오.

또 다른 가능성은 incron이지만 시스템 데몬이 필요합니다.

0

시계를 사용할 때마다 현재 콘솔/tty를 사용하는 것으로 보입니다. 아마도 PHP 스크립트로 파이핑을위한 최고의 도구가 아닙니다.

내가 취할 것 인 접근법 중 하나는 PHP 디렉토리 목록을 작성하고 SQLite 등의 데이터베이스에 저장 한 다음 차이점을 비교하고 PHP 스크립트이므로 다른 사람에게 정보를 전달할 수 있습니다 PHP 스크립트를 사용하거나 나머지 스크립트를 통합 할 수 있습니다. PHP 스크립트를 cron으로 실행할 수 있습니다.

관련 문제