0
#!/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)并且它没有给出任何错误。任何人都可以建议我任何想法吗?

4

2 回答 2

1

请检查 crontab 是否也在 Bash 中运行。如果没有,那么您可能必须更改您的外壳。

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

于 2013-02-25T06:22:34.957 回答
0

sudo 可能需要密码,从而阻止此命令。

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

于 2013-02-25T08:11:29.393 回答