何らかの理由で、ルートcrontabが実行されていないようです。
毎晩深夜にデバイスを再起動しようとしています。
ルートとして次のようにする必要があります。
crontab -e
それから加えて:
0 0 * * * /sbin/shutdown -r now
現在の時間に近い値を使用してテストしても、何も起こりません。 NTPをインストールし、タイムゾーンが正しいことを確認しました。また、24時間制の使用を指定しています。たとえば、この行を今すぐ(午後5時35分)テストするには、次のように入力してみます。
36 17 * * * /sbin/shutdown -r now
Date -Rで時刻を確認しました。 crontabを実行する時間は来たり来たりし、システムは再起動しません。ここに何が欠けていますか?
3つの解決策があります。
crontab -e -u root
でcrontabを呼び出します
Cronjobファイルの最後に空の行があることを確認してください。つまり、すべての行が改行で終わっています。
出力をdevnullにリダイレクトする必要がある場合があります:shutdown -r now > /dev/null
Cronjobsに役立つ2つのWebページを次に示します。
webmin でcronjobsをきちんと処理することもできます。
それ以外には、深夜にコンピューターを再起動する方法が少なくとも2つあります。
1つは、ログイン時に自動的にシャットダウンコマンドをスクリプトとして実行することです。ただし、「今」ではなく特定の時間をパラメーターとして使用します。
shutdown -r 00:00
ただし、これにより、ログインごとにシャットダウンのブロードキャストメッセージが生成されます(まったく悪いことではないかもしれません)。まあ、init.dにスクリプトを追加することでブート時に実行することもできますが、それでもメッセージは表示されます。
もう1つは、at
commandを使用することです。
at 0am
コマンドshutdown -r now
を入力してctrl + dで保存するか、コマンドのスクリプトを実行して次の操作を実行します。
at -f restart_script.sh 0am
これらがあなたが望む結果を得るのに役立つことを願っています。
System Cronジョブは/ etc/crontabファイルにリストされています。したがって、このファイルを直接編集すると、rootとしてリブートコマンドを実行するのに役立ちます。
したがって、
$ Sudo vi /etc/crontab
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR Sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
23 20 * * * root shutdown -r now
cronタブを編集した後、cronが正常にインストールされたかどうかを確認できるように、必ずCronログファイルを確認してください。
私はそれをテストし、それは私のために働いた。午後8時23分にシステムを再起動した
幸運を!