2017-02-21 11 views
0

私は7つのcronジョブを指定された順序で実行する必要があります!別の人が終わったら、Cronjobを始める?

だから私は順番にそれらを呼び出す必要があります。しかし、私の問題は、最後のcronjobが終了したら、次のcronjobを起動するにはどうしたらいいですか?

私はすべてのcronjobをトリガーするが、私の最後のcronjobが終了した場合に知る必要がある次のものをトリガーするスクリプトを書いておきたい。

PHPが好ましい。

+0

のようなものを行うことが聞こえますあなたは7つのスクリプトを含む1 cronjobが必要です。 – jeroen

+0

あらかじめ定義された順序で実行する必要がある場合、それらを* one *スクリプトに結合するほうがずっと賢明ではないでしょうか? –

+0

あなたが多くのcronジョブを持っていない場合、最も簡単な方法(およびハックシ)は、セミコロンを使ってcorntabにリストすることです: "* * * * cron1_command; cron2_command >> /ptah/to/log.txt" –

答えて

0

いずれかのシェルスクリプトを作成したり、このような何かを:

0 */5 * * * php /var/www/html/project1/cron.php && php /var/www/html/project2/cron.php && php /var/www/html/project3/cron.php 

あなたはあなたのための作業を行い、その出力を記録するPHPスクリプトをしたい場合は、この

ini_set('memory_limit','8196M'); 
$date=date('mdY'); 
if(!file_exists($date."_ENK.zip")) 
{ 
echo "sh get_files.sh ".$date."_ENK.zip\n"; 
echo "DOWNLOADING FILE\n"; 
echo popen("sh get_files.sh ".$date."_ENK.zip >> get_log",'r'); 
echo "MOVING FILE\n"; 
echo exec("mv ".$date.".csv ../../data/data.csv"); 
echo "IMPORTING INTO DATABASE\n"; 
echo exec("php /var/www/html/project1/index.php Engines dothings"); 
echo "DUMPING INTO TEMP FOLDER\n"; 
echo exec("mysqldump -u user db tab > /tmp/tab.sql"); 
echo "UPDATING\n"; 
echo exec("mysql -u far_user -ppass -h 10.0.0.1 db_away < /tmp/tab.sql"); 
echo "CLEANING UP"; 
echo exec("rm -f /tmp/tab.sql"); 
echo exec("rm -f ../../data/data.csv"); 
echo exec("rm -f somefile.zip"); 
} 
関連する問題