Linuxでタイマーを設定する際はcrontabが手軽で好きだったのだけど、systemdでやる必要が生じた。systemd?誰それ……。
やれやれ、僕は検索した。
実行内容を.service
形式ファイルに記述して登録し、.timer
形式ファイルで実行方式をコントロールするもののようだ。
機能を網羅的に調べることは時間の都合上できなかったが、とりあえず肝心の実行間隔についてメモしておく。
.timer
ファイルには[Timer]
セクションがあり、OnCalendar
プロパティで実行タイミングを設定できる。
毎日午後10時
OnCalendar=*-*-* 22:00:00
毎週金曜午前0時
OnCalendar=Fri *-*-* 00:00:00
毎月第一月曜午前1時
OnCalendar=Mon *-*-1,2,3,4,5,6,7 01:00:00
5分間隔
OnCalendar=*:0/5
設定値は色々あって最初は取っつきにくいものの、実行ユーザやグループ、前処理とか止め方みたいな細かい制御も色々できそうなので、こなれてくると非常に強力な使い方もできそうだなあという感想。
いやそんなバッキバキに制御するような構成は別に望んではいないのですが。