systemdを使用して定期的なマシンリブートを行ないます。
古くから定期実行といえば、crondを使っていましたが、将来なくなるかも知れないので、定期的な実行は、systemdに移行していこうと思います。
環境
$ cat /etc/almalinux-release
AlmaLinux release 9.5 (Teal Serval)
$ uname -r
5.14.0-503.23.1.el9_5.x86_64
作成
$ sudo vi /etc/systemd/system/schedule-reboot.timer
[Unit]
Description=Reboot Scheduling.
[Timer]
Unit=reboot.target
OnCalendar=*-*-* 3:30:00 ・・・ 毎日3:30
[Install]
WantedBy=timers.target
登録
$ sudo systemctl enable scheduled-reboot.timer
Created symlink /etc/systemd/system/timers.target.wants/scheduled-reboot.timer
→ /etc/systemd/system/scheduled-reboot.timer.
$ sudo systemctl start scheduled-reboot.timer
$ sudo systemctl status scheduled-reboot.timer
* scheduled-reboot.timer - Reboot Scheduling.
Loaded: loaded (/etc/systemd/system/scheduled-reboot.timer; enabled; preset: disabled)
Active: active (waiting) since Sun 2025-02-09 11:07:30 JST; 1min 9s ago
Until: Sun 2025-02-09 11:07:30 JST; 1min 9s ago
Trigger: Mon 2025-02-10 03:00:00 JST; 15h left
Triggers: * reboot.target
Feb 09 11:07:30 server01 systemd[1]: Started Reboot Scheduling..
確認
$ systemctl list-timers --all
NEXT LEFT LAST PASSED UNIT ACTIVATES
: (省略)
Mon 2025-02-10 03:00:00 JST 15h left - - scheduled-reboot.timer reboot.target
: (省略)
10 timers listed.