얼마 전에 다음 명령을 사용하여 시스템 타이머를 만들었습니다.
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에 표시되지 않았지만 여전히 거기에 있는 것 같습니다.