crontabでシェルスクリプトを実行する方法は?

crontabでシェルスクリプトを実行する方法は?

というファイルがありますrestart.sh。このファイルには、次の3行が含まれています。

echo 'HI'
service wildfly restart
echo 'Hello'

これを実行すると> sh /bin/restart.shうまくいきます。cronジョブ内でこれを実行すると、echoステートメントのみが機能します。ファイルを実行できませんcron

答え1

ファイルを実行可能にし、serviceバイナリのフルパスを使用します。例:

/usr/sbin/service wildfly restart

root実行のみ可能なので、これserviceをに追加したり、このコマンドのパスワードを設定したりしないでください。また、STDOUTが意図的にファイルにリダイレクトされない限り、役に立ちません。rootcrontabsudoechocron

関連情報