ユニットファイルの書き方 #

/etc/systemd/system/sample.service

[Unit]
Description=Sample Service

[Service]
Type=oneshot
ExecStart=<実行したいコマンドやシェルスクリプト>

/etc/systemd/system/sample.timer

[Unit]
Description=Sample Timer

[Timer]
OnCalendar=Sat *-*-* 10:00:00

[Install]
WantedBy=timers.target

timerファイルのOnCalendarの書き方 #

曜日 年-月-日 時:分:秒の形式で複数行書ける。
カンマ区切りで複数指定、..で範囲指定ができる。

# 毎日15:00に実行させたい場合
OnCalendar=*-*-* 15:00:00

# 毎週土曜日10:00に実行させたい場合
OnCalendar=Sat *-*-* 10:00:00

# 毎月10日3:00に実行させたい場合
OnCalendar=*-*-10 3:00:00

# 毎月10,20,30日4:00に実行させたい場合
OnCalendar=*-*-10,20,30 4:00:00

# 毎日10:00,11:00,12:00に実行させたい場合
OnCalendar=*-*-* 10..12:00:00

タイマーの有効化 #

sudo systemctl enable --now sample.timerで有効化する。
編集した場合は必ずsudo systemctl daemon-reloadを実行する。

設定したタイマーの確認 #

systemctl list-timers --all