created: 2022-11-21T07:22:00.551Z

systemd で timer を ansible で設定する最小限のスニペット

xxxx.service, xxxx.timer と2つファイルをつくって /etc/systemd/system/ 配下に置く。

[Unit]
Description=Restart MiniDLNA Server to avoid disconnection (see #206)
After=minidlna.service

[Service]
Type=simple
ExecStart=/usr/bin/systemctl restart minidlna

[Install]
WantedBy=multi-user.target
[Unit]
Description=Restart MiniDLNA Server to avoid disconnection (see #206)

[Timer]
OnBootSec=30min
OnCalendar=*-*-* 3:00:00
Unit=restart-minidlna-nightly.service

[Install]
WantedBy=multi-user.target

ansible で管理しているので enable にするのにはこういう記述。

    - name: enable restart-minidlna-nightly.timer
      ansible.builtin.systemd:
        name: restart-minidlna-nightly.timer
        state: started
        enabled: yes

感想

しかし cron だと1行で済む話が systemd だとファイルを2つ用意するのかー。と思いました。

参考

ピタゴラスイッチ おりたたみハンカチ劇場 ピタとゴラけんかのまき
[ad] ピタゴラスイッチ おりたたみハンカチ劇場 ピタとゴラけんかのまき
ベネリック (Baby Product)