2017-02-21 7 views
0

У меня есть 7 cron-заданий, которые должны выполняться в определенном порядке!Запустите Cronjob, если другой конец?

Поэтому я должен привести их в порядок. Но моя проблема в том, как я могу запустить следующий cronjob, если закончится мой последний cronjob?

Я хочу написать мне скрипт, который запускает каждую cronjob, но запускает следующую, мне нужно знать, закончился ли мой последний cronjob.

Я предпочитаю PHP.

+0

Это звучит как вам нужно только 1 cronjob, который включает 7 скриптов. – jeroen

+0

, если они должны запускаться в предопределенном порядке, не было бы намного умнее объединить их в * один скрипт? –

+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"); 
} 
Смежные вопросы