web-dev-qa-db-ja.com

cronでサービスを停止しようとしています

Ubuntu 11.04サーバーで実行しようとすると

 service powernap stop

ルートユーザーのcronジョブとして、それは失敗し、syslogでこのメッセージを表示します

 NAS CRON[10853]: (CRON) error (grandchild #10854 failed with exit status 2)

これはルートユーザーのメールアカウントにメールで送信されます

 exec: 129: stop: not found

コマンドラインからpowernapサービスを開始および停止できるのに、なぜcronから機能しないのですか?

3
Luke Stapley

/sbinがcronから起動したときに$PATHにないようです。次のような行を追加します

PATH = /sbin:$PATH

crontabファイルに。

4
Florian Diesch

私はまさにこの問題を抱えていましたが、crontabの実行時には$PATH変数が完全に空であるように見えるため、PATH=/usr/sbin;$PATHをcrontabリストの先頭に置くだけでは不十分です。

だから、私がやったことは(このcrontabをrootとして実行しているので、squidプロキシをオフにすることができます):

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

そして、うまくいったようです。

2
james

うーん... cronが「停止」を実行しようとしているのは奇妙です...

代わりにcronを実行してみてください:

sh -c '/usr/sbin/service powernap stop'
1