shell脚本没有运行其中的其他脚本

时间:2013-02-25 06:02:37

标签: linux shell ubuntu crontab

#!/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;
cd /var/www/symmetric-ds-3.1.6/bin;
sleep 30;

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

fi

我正在尝试使用cron每10分钟运行一次上面的脚本。在root下手动运行它时脚本运行正常但是当我尝试在cron中运行脚本时它正在执行(ps -ef | grep sym | grep -v grep | awk'{print $ 2}'| sudo xargs kill - 9;)并且它没有执行脚本(sudo ./sym --port 8082 --server)并且它没有给出任何错误。有人可以建议我吗?

2 个答案:

答案 0 :(得分:1)

请检查crontab是否也在Bash中运行。如果没有,那么你可能需要改变你的shell。

此外,当您手动运行脚本时,。/ sym是与您的shell相关的位置。它可能不是按照cron。请使用完整路径执行./sym。

答案 1 :(得分:0)

sudo可能需要密码,因此阻止了此命令。

删除sudo可以解决问题,我想。