ターミナルまたはbashファイルを使用して、Ubuntuを毎日(たとえば)午前3時に再起動するように構成するにはどうすればよいですか?
つまり、ターミナルからの自動再起動をスケジュールしたいのです。
私はGoogleまたはAskUbuntuでこれに関連するものを見つけることができませんでした。また、一般にUbuntuはかなり新しいです(新しいRaspberry Piを入手しただけです)。
ターミナルまたはbashファイルを使用して、Ubuntuを毎日(たとえば)午前3時に再起動するように構成するにはどうすればよいですか?
つまり、ターミナルからの自動再起動をスケジュールしたいのです。
私はGoogleまたはAskUbuntuでこれに関連するものを見つけることができませんでした。また、一般にUbuntuはかなり新しいです(新しいRaspberry Piを入手しただけです)。
回答:
crontab -e
コマンドを使用してcrontabエントリを編集し(デフォルトでは、現在ログインしているユーザーのcrontabを編集します)、次の行を追加します。
0 3 * * * echo $PASSWD | sudo -S reboot
#change $PASSWD with your password
ファイルを保存し、で新しいcrontabエントリを確認しcrontab -l
ます。
のみ使用したい場合:
0 3 * * * sudo reboot
crontabと同様に、これは正常に機能しません。この投稿をチェックして、機能させる方法を確認してください。
または、reboot
次のコマンドを使用して、コマンドの完全なパスを提供するrootユーザーのcrontabファイルにcrontabを追加しますsudo crontab -e
。
0 3 * * * /sbin/reboot
reboot
コマンドの完全なパスを指定せずにテストしたため、申し訳ありません。そうでなければ動作しません。私の新しい編集を見てください。
クリアテキストのパスワードをテキストファイルに保存することはお勧めできません。そのため、このジョブをget-goからrootとして実行することをお勧めします。通常、crontab
コマンドを使用してrootのcrontabを編集するのではなく/var/spool/cron/crontabs
、ややわかりにくい場所にエントリを残しますが、明示的にに入力することをお勧めし/etc/cron.d
ます。cron.dのエントリはシステムのcrontabエントリとして実行され、構成ファイルとして扱われるため、システムの再起動、更新、アップグレードに耐え、実行中のユーザーを明示的に指定できます。
echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am
特定の時間を必要とせず、システムを1日に1回再起動したい場合は、実行可能ファイルまたはスクリプトを追加 /etc/cron.daily
すると、所定の時間(デフォルトではシステム時間の午前6:25)に自動的に実行されます。
echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me
警告なしでシステムを再起動するだけでなく、5分間の警告を設定しているため、ログインしているユーザーがいるsudo shutdown -c
場合、システムをプルするのではなく、作業を保存するか、でシャットダウンを中断することができます。それらの下からオフ。さらに十分な警告を表示したい場合は、これらを適宜調整できます(たとえば、shutdown -h 60
午前2時にコマンドを使用して実行すると、ユーザーに1時間の警告を十分に表示できます)。
これは私の過去の経験に基づいています。ある時点でcrontabエントリが実行されるとログインして動作します。警告なしで再起動しただけでは、とても悲しいパンダになります。
echo $PASSWD