ファイルが生成されてから5分以上経過した場合、シェルスクリプトはどのように機能しますか?

ファイルが生成されてから5分以上経過した場合、シェルスクリプトはどのように機能しますか?

固定間隔の後に実行するようにスケジュールできるスクリプトを作成し、スクリプトが実行されるたびに.txtという別のファイルの生成タイムスタンプを確認したいと思いますHOSTNAME_FA.lck。 If.itは(creation timestamp - current timestamp) > 5 Minutes別のpingテストを実行します。

例:スクリプト名:checkFailedNodes.sh 生成タイムスタンプから5分が経過したことを確認する必要があるファイル:Hostname_FA.lck

checkFailedNodes.sh実行後にファイルが生成されてから5分経過したことが確認されると、スクリプトcheckFailedNodes.shはICMP pingを使用してノード(HOSTNAME)を再テストします。

最良のアプローチは何ですか?

ベストアンサー1

ここにはいくつかの問題があるので分離してみましょう。

定期的に実行するようにスケジュールされたスクリプトが必要です。それがcron目的です。たとえば、/path/to/script.sh5分ごとに実行するには、次のcronテーブルエントリを追加します。

*/5 * * * * /path/to/script.sh >> /var/log/myscript.log 2>&1

最近変更されたファイルを探すN数分前に-mminN=5:

find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5

見つかった各ファイルに対してスクリプトを実行するには、次のようにします。

find /path/to/lockfiles/ -maxdepth 1 -name \*.lck -mmin +5 -exec /path/to/otherscript.sh {} \;

マジックトークン{}ファイル名がファイル名に置き換えられているため、ファイルの内容またはファイル名を表示して適切なアクションを実行するようにスクリプトを設計できます。

おすすめ記事