systemd-timers를 제공하도록 예약된 서비스 프로세스가 성공적으로 실행되었는지 확인하려고 합니다. 호출된 예약 서비스가 있는데 certbot.service
사용 중인 것을 볼 수 있습니다 systemctl list-timers
. 이 서비스의 정의는 어디에 있나요? 서비스가 최종적으로 어떤 프로세스를 트리거했는지 어떻게 확인할 수 있나요?
답변1
이를 사용하면 systemctl list-timers
활성 *.timer
단위가 나열됩니다.
예:
stew ~ $ systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Wed 2021-09-08 10:32:20 CEST 46min left Wed 2021-09-08 09:32:47 CEST 13min ago anacron.timer anacron.service
Wed 2021-09-08 10:58:47 CEST 1h 12min left Wed 2021-09-08 04:35:18 CEST 5h 10min ago apt-daily.timer apt-daily.service
Wed 2021-09-08 13:28:09 CEST 3h 41min left Tue 2021-09-07 13:28:09 CEST 20h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Wed 2021-09-08 15:40:34 CEST 5h 54min left Wed 2021-09-08 05:01:01 CEST 4h 45min ago fwupd-refresh.timer fwupd-refresh.service
Thu 2021-09-09 00:00:00 CEST 14h left Wed 2021-09-08 00:00:01 CEST 9h ago atop-rotate.timer atop-rotate.service
Thu 2021-09-09 00:00:00 CEST 14h left Wed 2021-09-08 00:00:01 CEST 9h ago exim4-base.timer exim4-base.service
Thu 2021-09-09 00:00:00 CEST 14h left Wed 2021-09-08 00:00:01 CEST 9h ago logrotate.timer logrotate.service
Thu 2021-09-09 00:00:00 CEST 14h left Wed 2021-09-08 00:00:01 CEST 9h ago man-db.timer man-db.service
Thu 2021-09-09 06:20:05 CEST 20h left Wed 2021-09-08 06:01:22 CEST 3h 44min ago apt-daily-upgrade.timer apt-daily-upgrade.service
Sun 2021-09-12 03:10:53 CEST 3 days left Sun 2021-09-05 03:10:52 CEST 3 days ago e2scrub_all.timer e2scrub_all.service
10 timers listed.
Pass --all to see loaded but inactive timers, too.
UNIT
열 에서 anacron.timer
귀하가 나열한 실제 타이머인 타이머 단위(예: ) 를 볼 수 있습니다 . 타이머가 작동하면 다른 유닛이 활성화됩니다. 단위는 *.timer
파일에 지정 되거나 타이머와 이름은 동일하지만 확장자가 있는 서비스 Unit=anacron.service
로 기본 설정될 수 있습니다. .service
이 ACTIVATES
칼럼은 바로 그 점을 보여줍니다.
*.timer
어디에서 설정 해야 하는지 알고 싶다면 다음을 사용하세요 systemctl cat <unit>
.
stew ~ $ systemctl cat anacron.timer
# /lib/systemd/system/anacron.timer
[Unit]
Description=Trigger anacron every hour
[Timer]
OnCalendar=*-*-* 07..23:30
RandomizedDelaySec=5m
Persistent=true
[Install]
WantedBy=timers.target
여기서 특히 유용한 점은 파일 이름을 알려준다는 것입니다. 방문이 있는 경우 해당 내용이 나열됩니다.
귀하의 경우 서비스에 의해 트리거되는 프로세스에 특히 관심이 있습니다. systemctl cat <unit>
또한 당신을 도울 수 있습니다. 계속하면 anacron.service
다음을 얻게 됩니다.
stew ~ $ systemctl cat anacron.service
# /lib/systemd/system/anacron.service
...
[Service]
EnvironmentFile=/etc/default/anacron
ExecStart=/usr/sbin/anacron -d -q $ANACRON_ARGS
...
ExecStart=
이 줄에는 서비스를 시작하기 위해 실행된 명령이 표시되는 것을 볼 수 있습니다 .
현재 상태에 관심이 있는 경우 다음 명령을 사용하여 볼 수도 있습니다 systemctl status <unit>
.
stew ~ $ systemctl status anacron.service
● anacron.service - Run anacron jobs
...
Active: inactive (dead) since Wed 2021-09-08 09:32:47 CEST; 23min ago
TriggeredBy: ● anacron.timer
Process: 480643 ExecStart=/usr/sbin/anacron -d -q $ANACRON_ARGS (code=exited, status=0/SUCCESS)
Main PID: 480643 (code=exited, status=0/SUCCESS)
...
ExecStart=
서비스가 마지막으로 완료된 시간, 사용된 명령, PID 및 종료 코드를 확인할 수 있습니다 .