回答:
完全を期すために、たとえば/etc/cron.{hourly,daily,weekly,monthly}のジョブは順次実行されます。run-partsスクリプトは、このディレクトリ内のすべてのファイルをループします。
02 4 * * * root run-parts /etc/cron.daily
そのため、これを命名規則と組み合わせて(/etc/init.d/rc*.d
たとえば、の番号付けに似ています)、ジョブが確実に順次実行されるようにすることができます。
0 * * * *
以前に投稿したような)、他のユーザーが投稿したように、それらが実行される順序は保証されません。マルチコアシステムで並列に実行される場合があります。 AFAIKが実行する順序は、毎日異なる場合さえあります。私がrun-partsと組み合わせて述べた命名規則、または実際のバックアップスクリプトを呼び出すマスタースクリプトの使用は、スクリプトが特定の順序で実行されることを保証する唯一の方法です。
cronにリストされているタスクは、通常のプロセスと同様に、並行して実行されます。どちらが最初に開始するかを確認する方法はなく、タスクBが開始する前にタスクAが完了したことをcronで確認する方法はありません。
Cronは継続的に実行されるデーモン(サービス)です。ただし、1分に1回はcrontabを読み取ります。
ジョブが実行される正確な順序は、システムのcrondの実装によって異なります。
一部のディストリビューションが/etc/cron.d/内に置く緩いファイルは、通常のcrontab(5)構文に従うため、cronタイマー設定がスキャンされます。
個々のジョブが実行される順序は、ジョブに設定したスケジュールによって明らかに異なります。
それらは並行して実行されます。以下の方法を使用して、プロセスを順次実行できます。
# Use a semicolon to run command2 after command1 has completed
02 4 * * * /path/to/command1 ; /path/to/command2
# Use two ampersands to run command2 after command1 has completed successfully.
02 4 * * * /path/to/command1 && /path/to/command2
# Use two vertical rules to run command2 after command1 has completed unsuccessfully.
02 4 * * * /path/to/command1 || /path/to/command2