【Ubuntu】定期的な再起動の設定方法:cronの利用
2023.12.10 /
本記事ではLinux系OSのUbuntuにおける、cronを利用して定期的に再起動をする方法について解説していきます。
Ubuntuのサーバーを運用している場合、定期的にサーバーを再起動しておきたいことがあります。
私はUbuntuで動いているサーバーやさくらのVPSのCentOS上で動いている本サイトで、本記事で紹介する方法で定期的に再起動するように設定しています
本記事を通して、Ubuntuをcronを使って定期的に再起動する方法について理解を深めてください。
cronとは
cronとはLinux系OSに備わっている定期的にプログラム(スクリプト)を実行する機能です。
指定した時間にプログラムを走らせるため、バッチ処理やバックアップ、再起動など定期的に実行する必要がある処理に利用することが多いです。
cronの設定には以下2つの方法があります。
- crontabコマンドを使用した方法
- 「/etc/cron.d/」のファイルを編集する方法
本記事ではcrontabコマンドを使った方法を解説しております。
cronについて詳しく知りたい方は以下記事をご参照ください。
【Ubuntu】cron(crontab)でプログラムを定期的に実行:ジョブスケジューリング
cronによるジョブスケジューリング方法
cronで定期的に実行する処理を設定するには、まず最初に以下コマンドを実行します。
$ crontab -e
上記のコマンドを誤って「crontab -r」で実行するとすべてのスケジュールが削除されます。絶対に間違えないようにしましょう
上記コマンドを実行後にスケジュールと実行するコマンドを記述して保存することで、定期的にコマンドを実行するようになります。
スケジュールは以下構文に沿って記述します。
min hour dom month dow command
min | 分の意味、0~59を指定 |
hour | 時間の意味、0~12を指定 |
dom | 日(day of month)の意味、1~31を指定 |
month | 月の意味、1~12またはjan-decを指定 |
dow | 週(day of week)の意味、0~7またはsun-satを指定(0と7は日曜日) |
command | 実行したいコマンドを指定 |
例えば毎日4時にコマンドを実行したい場合は次のようになります。
0 4 * * * command
また毎週日曜日の3時30分にコマンドを実行したい場合はスケジュールは次のように記述します。
30 3 * * 0 command
Ubuntuの再起動のコマンド
再起動とは一度電源をオフ(シャットダウン)し、その直後に自動的に起動することです。Ubuntuで再起動をするにはshutdownコマンドで以下の通りオプションをつけて実行します。
$ shutdown -r now
オプション「-r」は再起動、オプション「now」は今すぐという意味です。
再起動やシャットダウンの際に使用するshutdownコマンドについては以下記事をご参照ください。
【Ubuntu】再起動とシャットダウンするコマンド:shutdownコマンド
cronで定期的に再起動する方法
ここまでに解説したcronや再起動コマンドを使って、定期的に再起動する設定を行う方法を解説していきます。
まず以下コマンドを実行して、ジョブスケジューリングを登録できる画面に移動します。
$ crontab -e
次にスケジュールと再起動するコマンドを記述します(キーボードで「i」を押して入力モードに切り替える)。
ここでは毎週日曜日の3時30分に再起動するように設定します。
30 3 * * 0 /usr/sbin/shutdown -r now
上記を記述したらキーボードで「esc」を押し、「:wq」を実行します。これで毎週日曜日に再起動する設定が完了しました。
commandには「/usr/sbin/shutdown」と記入するようにしてください。絶対パスでコマンドを指定しないと再起動が失敗する可能性があります。shutdownコマンドの絶対パスは以下コマンドを実行して確認することもできます。
$ which shutdown
スケジュールがきちんと登録されているか念のため確認したい場合は以下コマンドを実行してください。
$ crontab -l
再起動の確認
実際に再起動したか確認したい場合は以下コマンドを実行してください。
$ last reboot
上記コマンドの実行後に表示される結果から、いつ再起動されたかが確認できます。