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분 전.