如果机器已关闭,则使日历 systemd 计时器在启动后运行

如果机器已关闭,则使日历 systemd 计时器在启动后运行

我正在使用带有 GNU/Linux 的笔记本电脑,并且我希望某些作业能够在某些日历事件上自动运行,即使机器已关闭。

我知道我应该使用该OnCalendar=指令,但是如何确保如果机器在那段时间关闭,相应的服务单元将在下次启动后运行?

答案1

使用Persistent=指令(在 [Timer] 部分内)。引用手册:

       Persistent=
           Takes a boolean argument. If true, the time when the service unit
           was last triggered is stored on disk. When the timer is activated,
           the service unit is triggered immediately if it would have been
           triggered at least once during the time when the timer was
           inactive. This is useful to catch up on missed runs of the service
           when the machine was off. Note that this setting only has an effect
           on timers configured with OnCalendar=. Defaults to false.

由于所需的行为很难描述,因此这可能是可以选择的最佳关键字。

另一种选择,不使用 systemd 可以使用克隆,这是传统的增强版本计划任务现在实施为维克西克罗恩在 GNU/Linux 系统和其他系统上。你可以使用它的bootrun选项在你的桌子上。参见例子在这里,引用:

!reset,serial(true),dayor,bootrun(0),mailto(root),lavg(.5,2,1.5)

相关内容