ニフクラ(FJcloud-V) systemd-timer 利用方法
前提条件
systemd-timerとは?
systemd-timer(システムディータイマー)は、Linuxでsystemdの仕組みを使って定期実行を行う機能です。
以下のようなことができます。
・毎日バックアップを実行
・定期的にログを出力
・バッチ処理の自動化
・cronと異なり、実行ログをjournalctlでそのまま確認できます
・また、サーバー再起動で実行タイミングを逃しても補完実行できます(Persistent=true)
事前にサーバー作成は下記の内容をご参考にしてください。
同一機能のcron(crontab)はこちらの内容をご参考にしてください。
systemd-timer 利用方法
今回は、RockyLinux9.7を利用いたします。
1. 対象サーバーにログインいたします。
下記のコマンドを実施してください。
| コマンド | 説明 |
|---|---|
| $ sudo -i | rootユーザーに昇格いたします。 |
| # vi /etc/systemd/system/test.service [Unit] Description=Test Timer Service [Service] Type=oneshot ExecStart=/bin/sh -c 'date >> /tmp/test.log' | viで記述いたします。 serviceファイルを作成いたします。 「何をするか」を定義いたします。 |
| # vi /etc/systemd/system/test.timer [Unit] Description=Test Timer [Timer] OnCalendar=*-*-* 08:56:00 OnCalendar=*:0/5 Persistent=true [Install] WantedBy=timers.target | viで記述いたします。 timerファイルを作成いたします。 「いつ実行するか」を定義いたします。 毎日08時56分に時刻をログファイルに出力いたします。 毎日5分おきに時刻をログファイルに出力いたします。 2つ内容を定義いたします。 |
| # systemctl daemon-reload | systemdに設定を読み込ませます。 |
| # systemctl enable --now test.timer | タイマーを有効化・起動いたします。 サーバー再起動時も自動起動いたします。 |
| # systemctl list-timers | タイマーの一覧と次回実行時刻を確認いたします。 |
| # cat /tmp/test.log | ログファイルを参照してみましょう。 |
| # journalctl -u test.service | journalから実行ログを確認いたします。 |

以上で「ニフクラ(FJcloud-V) systemd-timer 利用方法」を完了いたします。

