55분 후에도 파일이 변경되지 않으면 강제로 업데이트하려면 어떻게 해야 합니까? [폐쇄]

55분 후에도 파일이 변경되지 않으면 강제로 업데이트하려면 어떻게 해야 합니까? [폐쇄]

55분 동안 로그 파일이 변경되지 않은 경우 로그 파일을 업데이트해야 합니다. 예를 들어 지금이 19시이고 IOstatDisk2.log18시 이후로 아무것도 변경되지 않았다고 가정해 보겠습니다 .

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

관련 정보