systemd 计时器在启动时但不会太频繁

systemd 计时器在启动时但不会太频繁

是否可以创建一个在启动时运行服务的计时器,但频率不超过每周一次?

就我而言,在启动时对 SSD 磁盘运行 TRIM ( ) 会很有帮助fstrim,但一旦发生这种情况,我想等待一周,以防当天我会重新启动系统几次。

内部逻辑是,启动时计时器将检查最后执行时间,当最后执行时间发生在过去 7 天内时,它不会执行它也不会更新最后执行时间。

答案1

以下定时器文件来自这里,但它基本上是许多系统的默认值。您的系统实际上可能包含一个,它可能位于下面/lib/systemd/system/fstrim.timer,或者您可以检查systemctl status fstrim.timer

fstrim.timer

[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target

如果您让电脑保持运行状态,此操作将每周运行一次 - 如果您错过了上次运行的时间(超过一周后将其重新打开),此操作将立即运行(另请参阅拱门维基:实时定时器):

激活后,如果错过了最后一次启动时间(选项 Persistent=true),例如由于系统关闭,它会立即触发服务

相关内容