2017-03-19 7 views
1

は、私は他の原料の束dowsのnginxを停止bashスクリプトを実行するスクリプトを必要とし、その後、nginxのは、crontabのは、このcrontabからrootとしてnginxを停止して再起動するにはshスクリプトを実行しますか?

5 10 * * 0 sh ~/runnow/script.sh 

のように見えます

始まり、私はよく、rootでログインのcrontabを編集しました。

スクリプトはうまく動作しますが、nginxの停止と開始の行でエラーサービスが見つかりません。私は手動でスクリプトがそれが正常に動作しますrootとしてログオンして実行する場合

echo "Stopping Nginx" 
service nginx-sp stop 

Stopping Nginx 
/root/run/script.sh: 2: /root/run/script.sh: service: not found 

できます。 私の考えでは、crontabはrootとして実行されていないが、crontabでrootとしてログインしたときにcrontabから抜けてしまったように見えるということです。私は、スクリプトを実行するために〜/実行/ script.shを使用していますが、実際のパスは

ので...イムが失わ....

+1

'service 'を'/path/to/service'に置き換えることをお勧めします。 – Cyrus

答えて

2

/root/run/script.shであるから、それがなければなりませんサイラスが指摘したように...このように、サービスパスを見つけるために 使用:

which service 

次に、あなたのスクリプトの中で完全なパスを追加します。

関連する問題