Linux 定时器中的混合条件

Linux 定时器中的混合条件

我想创建一个计时器,它触发、完成执行、等待 30 秒并再次触发,但仅在夜间触发。到目前为止我得到了这个:

[Timer]
OnUnitInactiveSec=30s
OnCalendar= * - * - * 23,24,00,01,02,03,04,05,06,07:*

但我不知道这两个条件是否充当“和”或“或”,换句话说,我不知道满足一个条件是否足以触发计时器,或者两者都需要(即我想要的是)。我在帮助页面中找不到该详细信息,并且我在互联网上找到的示例仅使用这种条件的一种类型。

答案1

根据systemd.timer:

多个指令可以由相同和不同类型组合而成,在这种情况下,只要任何指定的计时器表达式过去,计时器单元就会触发。例如,通过组合 OnBootSec= 和 OnUnitActiveSec=,可以定义一个定期运行的计时器,并每次激活特定的服务。此外,单调时间表达式和OnCalendar=日历表达式都可以组合在同一计时器单元中。

“任何”规范表明它是一种“OR”关系。

相关内容