2013-02-25 87 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第一個啓動避免在第一個作業實際開始之前按秒殺死。兩個crons不同時運行?

第一個腳本包含以下代碼

#!/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

的cron不知道你的東西位於因此請務必使用* FULL *路徑的一切連基本的命令得到改變。 – Satish 2013-02-25 16:05:43

+0

感謝您的回覆satish,但是當cron中沒有第一個腳本運行時,cron正在運行第二個腳本。 – user1597811 2013-02-26 04:25:25

+0

我不明白你爲什麼要同時運行它們?第一個腳本啓動服務器和其他一個殺..我不明白邏輯背後.. – Satish 2013-02-27 18:44:51

回答

2

你可以嘗試改變

(須藤./sym --port 8082 --server);

其絕對路徑

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

我想的路徑沒有在外殼

+0

感謝您的答覆Pradheep。在那種情況下,當我刪除其他cron作業時,爲什麼它運行正常? – user1597811 2013-02-25 13:17:45

+0

你是什麼意思其他cron工作?你的意思是說stop.sh? – Satish 2013-02-27 18:43:33