使用 systemd-run 创建的 Systemd 瞬态计时器未以列出的单位显示

使用 systemd-run 创建的 Systemd 瞬态计时器未以列出的单位显示

前段时间,我使用以下命令创建了一个 systemd 计时器:

systemd-run --on-calendar='*-*-01 12:00:00' --description='Update root hints for unbound' --property='After=network.target' --timer-property='Persistent=true' /usr/bin/curl -o /etc/unbound/root.hints https://www.internic.net/domain/named.cache

创建这个计时器后,它被分配了一个随机名称run-u1021

快进到今天,我想查看计时器的状态,所以我运行命令:

systemctl list-timers --all

它没有列在那里。

我检查了一下/var/lib/systemd/timers/,发现它包含一个具有该名称的标记文件stamp-run-u1021.timer

运行stat该文件会显示它是最后一次修改的2020-05-09,这也对应于该文件的统计信息/etc/unbound/root.hints

➜ stat /var/lib/systemd/timers/stamp-run-u1021.timer
  File: /var/lib/systemd/timers/stamp-run-u1021.timer
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d  Inode: 9438418     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-05-09 23:40:46.628653123 -0600
Modify: 2020-05-09 23:40:46.628653123 -0600
Change: 2020-05-09 23:40:46.628653123 -0600
 Birth: 2020-05-09 23:40:46.628653123 -0600

所以这个计时器至少运行过一次,但我的问题是,它位于哪里?为什么 systemd 不显示它?这与它的创建方式有关吗?


计时器的下一次运行:

➜ systemd-analyze calendar '*-*-01 12:00:00'               
Normalized form: *-*-01 12:00:00            
    Next elapse: Mon 2020-06-01 12:00:00 CST
       (in UTC): Mon 2020-06-01 18:00:00 UTC
       From now: 1 day 22h left

显示计时器将在距现在不到 2 天的时间内激活。我将等待,看看它是否真的激活,但与此同时,如果有人可以回答瞬态计时器及其服务是在哪里创建的,那将会很有帮助。

我也看了这个问题:删除使用“systemd-run --on-calendar”创建的计时器 然而,他们的问题有所不同,因为 systemd 实际上显示了计时器,但他们只是很难删除它。就我而言,计时器没有出现在 systemd 中,但似乎仍然存在。

相关内容