全学停電のための1度きりのCron設定
大学では、法定点検のため、毎年秋頃に全学停電が実施されます。
Linux/Unixサーバー等を事前に停止するための情報です。
Linuxでは、決まった日時や繰り返しでコマンド実行させるのにCronを通常使いますが、普通だと下記のcron設定で事足りると思います
## 10/28 9:05に停止
05 9 28 10 * /sbin/shutdown -h now
このコマンドが実行された後、Linuxが停止するわけですが、後日Linuxを立ち上げた後にcron設定を削除してしまえば問題ありません。
もし、この設定を削除忘れると、翌年もこの日時に停止する事になるので、それを防止する1年に1度だけ動作するようなcron設定にしておくと、削除を忘れても安心です。
1年に1度だけのcron設定
05 9 28 10 * /usr/bin/test $(date +\%Y) -eq 2022 && /sbin/shutdown -h now
正確には、翌年にもこのcronが実行されるわけですが、西暦が合致しなければ停止コマンドが実行されないので、実質その年にだけ停止コマンドが実行されると言う事です。
QNAPや最近のLinuxだと、/sbin/shutdown -h now
の箇所は、/usr/sbin/poweroff
や/usr/bin/systemctl poweroff
へ書き換える必要があるかもしれませんので、自分の環境に合わせて変更しましょう!