onCalendar=*:30
我必须在Raspberry Pi 上设置一个计时器没有网络连接但使用电池供电的 RTC。
为了同步我的 RTC,我遵循这个帖子。
上手册页systemd 计时器的部分如下OnCalendar=
所示:
请注意,如果系统的实时时钟设置不正确,日历计时器可能会在意外时间被触发。具体来说,在缺乏电池缓冲实时时钟 (RTC) 的系统上,启用 systemd-time-wait-sync.service 可能是明智的做法,以确保在设置计时器事件之前将时钟调整为网络时间源。至少具有一个 OnCalendar= 表达式的计时器单元会自动排序在 time-sync.target 之后,而 systemd-time-wait-sync.service 会先排序。
我的问题正是手册页中所描述的:由我的计时器触发的服务在启动时立即触发,而不是在onCalendar=*:30
.
产量systemctl status test.timer
:
● test.timer - test
Loaded: loaded (/etc/systemd/system/test.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Sat 2023-05-13 10:37:17 UTC; 5 months 9 days ago
Trigger: Sun 2023-10-22 10:55:00 UTC; 2min 56s left
Triggers: ● test.service
你可以看到,"5 months 9 days ago"
虽然我刚刚打开我的树莓派。当我在没有 RTC 的情况下打开 Raspberry Pi 时,
该日期是默认值。Sat 2023-05-13
手册页对我没有进一步的帮助。你们中有人知道如何正确使用systemd-time-wait-sync.service
以及需要哪些依赖项吗?