Ubuntu Server 18.04 LTS Systemd/timerで定期実行する設定

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

Ubuntu Server 18.04 LTS でSystemd/timerを使う方法を備忘録としてまとめておきたいと思います。

定期実行するシェルスクリプトを用意

定期的に実行したいシェルスクリプトを用意します。

シェルスクリプトの一例として以下のシェルスクリプトを投稿しております。
MyDNSでのIPアドレス通知シェルスプリクト
Cloudflareを動的IPで使うときのIP通知シェルスクリプト

用意したシェルスクリプトのパーミッションを755(実行権限付与)にします。

Serviceファイルを作る

$ cd /etc/systemd/system
$ sudo nano hoge.service

[Unit]
#このServiceの説明(タイトル)
Description=Hoge

[Service]
Type=simple
#実行するシェルスクリプトの絶対パス
ExecStart=/path/to/hoge.sh

Timerファイルを作る

$ cd /etc/systemd/system
$ sudo nano hoge.timer

[Unit]
#このTimerの説明(タイトル)
Description=Hoge Timer

[Timer]
#実行する時間の設定(以下の設定は毎時00分、05分、10分、15分、20分、25分、30分、35分、40分、45分、50分、55分に実行する設定)詳細は後述
OnCalendar=*-*-* *:00,05,10,15,20,25,30,35,40,45,50,55:00
#実行するServiceファイルを指定
Unit=mydns.service

[Install]
WantedBy=timers.target

OnCalendarの設定項目

OnCalender=年-月-日 時:分:秒
で設定できます。
また、*をワイルドカードとして使えたり、,で区切ることで複数の値を指定することが可能です。

Timerを有効化

$ sudo systemctl start hoge.timer
$ sudo systemctl enable hoge.timer

Timer一覧で確認する

$ sudo systemctl list-timers 
#すべてのタイマーのリストがでるはずです

動作確認する

$ sudo journalctl -xefu hoge
#直近のログが見れるはずです

以上でSystemd/timerで定期実行する設定は完了です。
お疲れ様でした。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメント

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください