複数のクローンジョブの実行(そのうちの1つは時間がかかります)

複数のクローンジョブの実行(そのうちの1つは時間がかかります)

クローンの操作については、次の一般的な質問があります。

私のファイルに次のものがあるとしましょうcrontab

* 10 * * * * someScript.sh
* 11 * * * * someScript2.sh
30 11 */2 * * someScript3.sh  <-- Takes a long time let's say 36 hours.
* 12 * * * someScript4.sh

適切な時間に残りのタスクを実行するのに十分スマートですか?たとえば、長いスクリプトを終了する必要はありませんか?

また、元の長いスクリプトが実行され続け、cronによって再度呼び出されるとどうなりますか?

ベストアンサー1

各クローンジョブは、指定した他のジョブとは独立して実行されます。これは、長寿命のスクリプトが、指定された時間に他のジョブが実行されるのを妨げないことを意味します。

あなたのスクリプトの一つでもまだ次のスケジュールされたクローン間隔で、スクリプトの別の同時インスタンスが実行されます。

スクリプトの機能によっては、予期しない結果が生じる可能性があります。 Wikipediaの記事を読んでください。ファイルロック、特に関連してファイルロック。ロックファイルは、リソース(someScript3.shあなたの場合はスクリプト)が現在「ロック」(つまり使用中)になっており、ロックファイルが削除されるまで再実行してはならないことを示す簡単なメカニズムです。

スクリプトでファイルロックを実装する方法の詳細については、次の質問に対する回答をご覧ください。

おすすめ記事