2012-01-19 17 views
2

他のcronの後にcronを設定したいと思います。たとえば、Cron Aは午後1時に終了し、Cron Bは午後1時01分に開始します。問題は、cron Aがいつ終了するかわからないことです。他のcronの後にCronが実行されます

私はcrontabの構文をチェックしました。その目的のためのパラメータを提供するものではありません。

私の実際の状況は次のとおりです。

私はこのような場合には(私は同時バックアップを持っていることによって、ディスクをスラッシュしたくない、一般的にバックアップシナリオを)何
# This cron must run first. 
? ? * * * /usr/local/bin/php -f /path/select_and_print_to_log_file.php 

# two these crons runs at the same time. 
0 13 * * * /usr/local/bin/php -f /path/update_user.php 
0 13 * * * /usr/local/bin/php -f /path/update_image.php 

# This cron runs right after two above cron completes. 
? ? * * * /usr/local/bin/php -f /path/select_and_print_to_log_file.php 

答えて

1

完了したら、最初のジョブでタイムスタンプが生成される可能性があります。

次に、ジョブAが約60〜90分かかると推定します。 60分後、ジョブBを開始します。ジョブbはタイムスタンプを探します。存在する場合はジョブBが開始し、それ以外の場合は1分間待ってから再び表示されます。

終了後、ジョブBはタイムスタンプを削除するか、名前を変更します。「todo」から「done」に変更されます。ファイル内に現在の日付を挿入して、見積もりがまだ受け入れ可能かどうか、または調整する必要があるかどうかを確認することができます。

1

は、スクリプトを書くことになるのcronコール、スクリプト内では実際のタスクが連続して実行されます。

#!/bin/bash 

/usr/local/bin/php -f /path/update_user.php 
/usr/local/bin/someOtherTaskToRunSecond 

YMMV:よう

何か。

2

第1のcronの中でbatchコマンドを使用すると、2番目の実行をスケジュールすることができます。