我一直在读
OnCalendar=
遗憾的是,除了定义一周中的某一天之外,我没有找到有关如何在某一天安排活动的信息,这将使其每周最少运行一次。
我需要它每 14 天运行一次。并且在指定时间(例如凌晨 4 点)。这可以用 systemd 实现吗?
答案1
我需要它每 14 天运行一次。并且在指定时间(例如凌晨 4 点)。这可以用 systemd 实现吗?
最简单的获取方式大约每14天就是每月两次。
[Install]
WantedBy=default.target
[Unit]
Description=Every fortnight.
[Timer]
OnCalendar=*-*-1,15 4:00:00
Unit=whatever.service
该语法在 中进行了解释man systemd.timer
;*-*-1,15
是每年每个月的一号和十五号。
如果你想尝试确切地自服务开始后每十四天:
[Timer]
OnActiveSec=14d
但这里有一个问题:我认为你必须让系统一直处于运行状态。有一个Persistent
选项可以“上次触发服务单元的时间...存储在磁盘上”,但根据手册页“此设置仅对使用 OnCalendar 配置的计时器产生影响”。