systemd 计时器每 X 天 04:00

systemd 计时器每 X 天 04:00

我一直在读

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 配置的计时器产生影响”。

相关内容