起動時に何かを実行し、cronを使用して再起動をトリガーしたいと思います。
そこでsudo crontab -e
コマンドを使用して追加しています。このコマンドは再起動には関係ありません。再起動が常に発生するわけではありません。毎日午前4時に再開したいです。私が追加した行は次のとおりです。
00 4 * * * root /sbin/shutdown -r now >> /var/log/daily-backup.log 2>&1
これで代わりに再起動するように修正しましたが、うまくいく/etc/crontab
ようです。なぜこれですか?コマンドはrootとして実行されるので、crontab -eは機能しませんか?
ベストアンサー1
これによりcrontab -e
修正されます。ユーザーごとcronエントリは通常/var/spool/cron/crontabs/$USERNAME
。
これは各ユーザーのためであるため、ユーザー名は必要ありません。
だからアイテムは次のようになります
00 4 * * * /sbin/shutdown -r now >> /var/log/daily-backup.log 2>&1
代わりに/etc/crontab
(およびのファイル/etc/cron.d/
)はシステムcrontabエントリなので、ユーザー名が必要です。
(Debian、RedHat)cron
を見ると、何が起こっているのかを確認できます。ジョブが呼び出されると...という行が必要です。これはおそらく「root」コマンドが見つからないという意味です。/var/log/syslog
/var/log/cron
daily-backup.log