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
GNUfind
またはBSDはfind
この問題を解決します:
find <DIRECTORY> -type f -amin +55 -name \*<PATTERN>\* -print
これにより、アクセスディレクトリにあるPATTERNという名前のすべてのファイルが印刷されます。より良い55分前。