固定間隔の後に実行するようにスケジュールできるスクリプトを作成し、スクリプトが実行されるたびに.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.sh
5分ごとに実行するには、次のcron
テーブルエントリを追加します。
*/5 * * * * /path/to/script.sh >> /var/log/myscript.log 2>&1
最近変更されたファイルを探すN数分前に-mmin
。N=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 {} \;
マジックトークン{}
ファイル名がファイル名に置き換えられているため、ファイルの内容またはファイル名を表示して適切なアクションを実行するようにスクリプトを設計できます。