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分ごとに実行しようとしています。ルートで手動で実行している間、スクリプトは正常に実行されていますが、cron内でスクリプトを実行しようとすると、(ps -ef | grep sym | grep -v grep | awk'{print $ 2}' | sudo xargs kill- 9;)スクリプト(sudo ./sym --port 8082 --server)を実行しておらず、エラーも発生していません。誰かが私に何かアイデアを提案できますか?

4

2 に答える 2

1

Please check if crontab is also running in Bash. If not then you might have have to change your shell.

Also when you are running the script manually, ./sym is a location pertaining to your shell. It might not be as per cron. Please use full path to execute ./sym.

于 2013-02-25T06:22:34.957 に答える
0

sudo にはパスワードが必要な場合があるため、このコマンドがブロックされます。

sudo を削除すると問題が解決すると思います。

于 2013-02-25T08:11:29.393 に答える