파일의 변경 사항을 모니터링하고 변경 사항이 감지되면 일부 작업을 실행하는 스크립트를 작성할 수 있는지 궁금합니다.
상해:
- OpenVPN은 1 분마다 상태를 파일에 기록합니다.
- 이 상태 파일을 구문 분석하고 조치를 취해야합니다.
- OpenVPN은 쓰기 전에 상태 파일을 자릅니다.
- 명명 된 파이프에 쓰려고 시도했지만 파이프를 자르지 못하면 앱에서 바람직하지 않은 (치명적이지는 않은) 오류가 발생합니다.
파일의 변경 사항을 모니터링하고 변경 사항이 감지되면 일부 작업을 실행하는 스크립트를 작성할 수 있는지 궁금합니다.
상해:
답변:
저렴하고 더러운 방법 :
stat -c %Y file
수정 시간이 변경되면 루프 하고 조치를 취하십시오.
아마 더 나은 :
inotify cron 서비스를 사용하여 파일 수정 이벤트를 관찰하고 조치를 실행하십시오.
/path/to/your/file IN_MODIFY /path/to/your/script $#
incron [1] 또는 다른 inotify-stuff를 살펴보고 스크립트 실행을 시작하십시오.
[1] http://inotify.aiken.cz/?section=incron&page=about&lang=en
빠르고 더러운 방법 :
function wait_file_changed {
tail -fn0 "$1" | head -n1
}
wait_file_changed /tmp/potato
tail -f
이 가장 쉬운 방법 일 것입니다. 그러나 덧붙이 기 위해서만.