2013-02-25 3 views
0
MAILTO="" 
*/10 * * * * /bin/bash /var/www/sym_monitor/sym_start.sh > /var/www/migrate/root_start.txt 2>&1 
*/10 * * * * /bin/bash /var/www/sym_monitor/stop.sh > /var/www/migrate/root_stop.txt 2>&1 

Оба эти задания выполняются внутри cron с интервалом в 10 минут @ 17: 30 секунд, начиная с 1735 года, сначала с первого запуска, избегая убийства первой работы за секунду до ее фактического начала.два крона не работают одновременно?

Первый сценарий состоит из следующего кода

#!/bin/bash 
value=$(</var/www/sym_monitor/man.txt) 


if [ "$value" == "true" ]; then 

    ps -ef|grep sym |grep -v grep |awk '{ print $2 }'|sudo xargs kill -9; 

fi 

Второй сценарий состоит из следующего кода.

#!/bin/bash 
value=$(</var/www/sym_monitor/man.txt) 

if [ "$value" == "true" ]; then 

sleep 30; 
cd /var/www/symmetric-ds-3.1.6/bin; 
(sudo ./sym --port 8082 --server); 

fi 

Проблема в том, что я запускаю оба сценария, к сожалению, sym_start.sh не выполняется. Но когда я удаляю stop.sh и вручную запускаю стоп-скрипт, тогда единственный скрипт в cron выполняется правильно. почему так это происходит? Есть идеи?

+0

хроны не знают, где ваши вещи расположены так, всегда используйте * ПОЛНЫЙ * путь для всего, даже основных команд. – Satish

+0

Спасибо за ответ satish, но cron запускает второй скрипт, когда в cron нет первого скрипта. – user1597811

+0

Я не понимаю, почему вы используете их одновременно? первый скриптовый стартовый сервер и другой убить .. я не понимаю логики за ним .. – Satish

ответ

2

может попытаться изменить

(Судо ./sym --port 8082 --server);

его абсолютный путь

(Sudo /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server);

Я думаю, что путь не получает изменен в оболочке

+0

Спасибо за ответ Pradheep. В этом случае, когда я удаляю другую работу cron, почему она работает правильно? – user1597811

+0

что вы имеете в виду другую работу cron? вы имеете в виду сказать stop.sh? – Satish

Смежные вопросы