两个人不同时跑?

时间:2013-02-25 12:48:57

标签: linux shell ubuntu crontab

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并手动运行stop脚本时,cron中唯一的脚本正在正确执行。为什么会这样呢?任何想法?

1 个答案:

答案 0 :(得分:2)

你可以尝试改变

吗?
  

(sudo ./sym --port 8082 --server);

到它的绝对路径

  

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

我认为shell中的路径没有改变