systemd-run을 사용하여 생성된 시스템 임시 타이머는 나열된 단위에 표시되지 않습니다.

systemd-run을 사용하여 생성된 시스템 임시 타이머는 나열된 단위에 표시되지 않습니다.

얼마 전에 다음 명령을 사용하여 시스템 타이머를 만들었습니다.

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에 표시되지 않았지만 여전히 거기에 있는 것 같습니다.

관련 정보