![55분 후에도 파일이 변경되지 않으면 강제로 업데이트하려면 어떻게 해야 합니까? [폐쇄]](https://linux55.com/image/70148/55%EB%B6%84%20%ED%9B%84%EC%97%90%EB%8F%84%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EB%B3%80%EA%B2%BD%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9C%BC%EB%A9%B4%20%EA%B0%95%EC%A0%9C%EB%A1%9C%20%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
55분 동안 로그 파일이 변경되지 않은 경우 로그 파일을 업데이트해야 합니다. 예를 들어 지금이 19시이고 IOstatDisk2.log
18시 이후로 아무것도 변경되지 않았다고 가정해 보겠습니다 .
solaris1a:/var/tmp ROOT # ls -ltr IOstatDisk2.log
-rw-r--r-- 1 root other 6 Aug 2 18:00 IOstatDisk2.log
따라서 이 경우에는 다음 줄을 추가하겠습니다.
echo “new cycle - forced update after 55 min.” >> IOstatDisk2.log
그러나 마지막 타임스탬프가 55분 미만인 경우 행을 추가하지 않습니다.
답변1
다음을 수행하여 테스트할 수 있습니다(테스트가 유지되면 파일에 대해 작업).
if [ $(((`date +%s` - `stat -c %Y IOstatDisk2.log`) / 60)) -ge 55 ]
then
echo "File was modified more than 55 minutes ago"
# do something with the file...
fi
답변2
GNU find
나 BSD가 find
이 문제를 해결해 줄 것입니다:
find <DIRECTORY> -type f -amin +55 -name \*<PATTERN>\* -print
그러면 액세스 디렉터리에 있는 PATTERN이라는 이름의 모든 파일이 인쇄됩니다.보다 낫다55분 전.