#何か調子悪いからとりあえず再起動
最近CentOSで実行してる日次のrsync(ファイルサーバーのバックアップ)が時々失敗してる…(´・ω・`)
原因はまだよく分かってないけど、ひとまず毎日再起動していみることにしました。
#再起動のシェルスクリプト
これ。
shutdown -r now
-r
が『再起動』のオプション。
-h
は『電源切る』のオプションだから注意。
(電源切っちゃったらマシンの前まで行って、電源ボタンぽちってしないといけないよ)
#定期実行をcronに登録
まずは下記コマンドでcron設定ファイルをviで編集。
crontab -e
下記内容を追記。
0 3 * * * /usr/sbin/shutdown -r now
分 時 日 月 曜日 コマンド
上記の場合は毎日3:00に『/usr/sbin/shutdown』を実行しなさいよ!オプションは『-r now』よ!な意味。
#shutdownの前に/usr/sbin/を付けてるのは何で?
cronで『コマンドが見つかりません』の例外回避の為です。
コマンドによっては 端末では実行できるのにcronだとできない ことがあります。
(cronで実行する時にパスが通っていないのが理由)
なので、ただのコマンドではなく 絶対パスで指定したコマンド にする目的で /usr/sbin/
を付けています 。
shutdownの絶対パスを知りたい時は下記コマンド。
which shutdown
#ホントか~?ホントにお前再起動したんか~?
下記コマンドで簡易的に確認できるん。
last reboot
結果はこんな感じ。
金曜日、1月1日、4時51分に再起動、そこから現在まで動いてるよって意味。
3:00とか夜中に再起動することになるから、後から確認できる方法知っておこう。
#必要なサービスは起動と同時に立ち上がるようにしておこう
例えば下記はSamba(ファイルサーバーのサービス)を起動と同時に立ち上げるコマンド。
systemctl enable smb
#systemdで再起動の定期実行はダメ!
最初はコレ↓で定期実行しようとした。
CentOSで日付・曜日・時間を指定して定期実行したいんだよなあ
systemctl enable 再起動のサービス
なんてことやっちゃったもんだから、
定時再起動 ⇒ CentOS起動と同時に再起動のサービス開始 ⇒ 再起動 ⇒ CentOS起動と同時に再起動のサービス開始 ⇒ 再起動 ⇒ ………
無限ルーーーーープになっちゃったよ☆(・ω<)
#「諸君、〇分後に再起動を開始する」
shutdownのオプションで -k
にすれば、接続してる端末 に 再起動するぞいって通知 できる。
これ使用頻度低いけど便利。
ふーん、そういうこともできるのね、って感じで覚えておこうと思った。
#蛇足
起動と同時にLineに通知するなり、メール飛ばすなりする仕組み作りたいなと思った!
再起動するとMac mini上のネットワークドライブがアンマウントされちゃう…(´・ω・`)
(tico = CentOS上にSambaで構築したファイルサーバー)
Mac側に定期実行のスクリプト設定するなり、アンマウントされないように設定するなり必要ありそう…。
うーん、これは残課題です。
#参考サイトさん
https://eng-entrance.com/linux-command-shutdown
https://rainbow-engine.com/linux-scheduled-reboot-script/
https://teratail.com/questions/75302
https://gist.github.com/koudaiii/49ac3f8b7c207f0da31f
https://netacore.jp/restart-automatically-centos-server/
#バージョン
CentOS Linux release 8.3.2011