我在 Ubuntu 16.04 上。当我尝试使用时间语法显示这里( Mon..Fri
) 我收到错误。看来我必须使用“Mon-Fri”。
$ sudo systemctl status mytouch.timer
● mytouch.timer - Runs mytouch every hour
Loaded: error (Reason: Invalid argument)
Active: inactive (dead) since Thu 2018-12-13 16:16:35 UTC; 1h 11min ago
Dec 13 17:15:20 ip-10-0-0-123 systemd[1]: [/etc/systemd/system/mytouch.timer:5] Failed to parse calendar specification, ignoring: Mon..Fri 22:30
Dec 13 17:15:20 ip-10-0-0-123 systemd[1]: mytouch.timer: Timer unit lacks value setting. Refusing.
另外,我在日期后面放置时区时遇到了问题,例如:2003-03-05 05:40:00 UTC
。
最后,我看到了使用的建议systemd-analyze calendar
,但却产生了这个错误:
$ systemd-analyze calendar Mon,Wed,Fri,Sat\ \*-\*-\*\ 11:00:00
Unknown operation 'calendar'.
在哪里可以找到我正在运行的 systemd 版本的文档。
答案1
于 2021/08/10 编辑,感谢 @jcomeau_ictx 的评论,我意识到我错误地阅读了问题并提供了一个错误的答案以及一个有缺陷的命令。
旧版本确实部分支持 doted 命令,因此您必须改用-
。
我不再能访问旧版本,因此我无法验证哪些命令有效,哪些命令无效(..
例如,可用于列出日期)。
但是,您仍然可以使用该systemctl list-timers
命令查看您的情况。
正如 @echo 所言,systemd-analyze calendar
16.04 上不可用。
我只能从 18.04 Ubuntu 开始使用它,我认为旧版本上没有等效命令。
祝你好运。
答案2
对于 ubuntu 16.04,时间语法是http://manpages.ubuntu.com/manpages/xenial/man7/systemd.time.7.html,与‘标准’略有不同。
对于systemd-analyze
,ubuntu 16.04 版本也不同。下面是输出
systemd-analyze -h
Commands:
time Print time spent in the kernel
blame Print list of running units ordered by time to init
critical-chain Print a tree of the time critical chain of units
plot Output SVG graphic showing service initialization
dot Output dependency graph in dot(1) format
set-log-level LEVEL Set logging threshold for manager
set-log-target TARGET Set logging target for manager
dump Output state serialization of service manager
verify FILE... Check unit files for correctness