午後10時にMFを実行するためにデフォルトのシャットダウンcrontabを実行しようとしています。だから私は次のことをしました。
sudo crontab -e
crontabの内部に次の行を追加しました。
0 22 * * 1-5 shutdown now
ジョブが誤って実行されているようですが、エラーが見つかりません/var/log/syslog
。ここに何かが顕著に間違っていますか?
答え1
問題は、crontabファイルのPATHが制限されており、/sbin
最も可能性の低い場所を含まないことです。
したがって、閉じるにはフルパスを使用する必要があります(checkを使用できますsudo which shutdown
)。
0 22 * * 1-5 /sbin/shutdown now
からman 5 crontab
:
特に、「/usr/bin:/bin」以外の PATH が必要な場合は、crontab ファイルで設定する必要があります。
/sbin/shutdown
以下を指定する代わりに:
PATH = /sbin:$PATH
0 22 * * 1-5 shutdown now
答え2
- 実行時間を一覧表示できます
cronlist
期待どおりに機能していることを確認してください。私の知る限り、cron
仕事は月曜日から金曜日まで22:00に行われます。そうしますか? shutdown now
一般ユーザーとして実行するとどのように印刷されますか?- 何を印刷しますか
service cron status
?表示されない場合はcron start/running
再起動する必要がありますservice cron start
。 - 機械の時計は正しいですか?構成されていないか同期されていないため、ジョブが完全に間違った日付または時刻に実行される可能性があります。
- 次のエラーメッセージがありますか?
PAM bad jump in stack
存在する/var/log/auth.log
?この記事には、デバッグ情報と試してみるものがたくさん含まれています。
答え3
tail -n 100 /var/log/cron 確認
一般ユーザーまたはrootユーザーを使用してこのクローンを実行してみましたか?
答え4
shutdown コマンドを使用する権限がありません。次のコマンドを実行してみてください。
sudo chmod u+s /sbin/shutdown
次に、crontabで終了へのフルパスを指定します。
0 22 * * 1-5 /sbin/shutdown now