을 실행하면 systemctl list-timers
마지막으로 실행된 날짜가 훨씬 먼 미래 날짜입니다. 예를 들어, 다음은 출력의 일부입니다.
$ systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Sat 2017-08-19 02:29:16 CEST 6h left Wed 2017-08-16 02:50:57 CEST 2 days ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Sun 2092-06-29 22:30:00 CEST 74 years 10 months left Sun 2092-06-29 00:22:17 CEST 74 years 10 months left rsnapshot-daily.timer [email protected]
Mon 2092-06-30 00:00:00 CEST 74 years 10 months left Sun 2092-06-29 00:22:17 CEST 74 years 10 months left fstrim.timer fstrim.service
Mon 2092-06-30 00:00:00 CEST 74 years 10 months left Sun 2092-06-29 00:22:17 CEST 74 years 10 months left logrotate.timer logrotate.service
Mon 2092-06-30 00:00:00 CEST 74 years 10 months left Sun 2092-06-29 00:22:17 CEST 74 years 10 months left man-db.timer man-db.service
백업을 확인했을 때(작업에 의해 트리거되어야 함) rsnapshot-daily.timer
약 일주일 전에 작동이 중지된 것을 발견했습니다. 따라서 내 시스템에서 시스템 타이머가 부분적으로 손상된 것 같습니다.
컴퓨터를 다시 시작하면 문제가 사라질 것이라고 생각했습니다. 그러나 이것이 알려진 문제인지, 해결 방법이 있는지 궁금합니다.
타이머를 다시 시작해도 아무런 차이가 없습니다(예: systemctl restart rsnapshot-daily.timer
). 최종 실행 날짜는 여전히 2092년입니다.
저는 Arch Linux에서 systemd 버전 234.11-8을 사용하고 있습니다.
답변1
이는 시스템 시계에 의해 트리거된 시스템 타이머 동작으로, 어느 시점에서 미래의 시간(예: 2092)으로 잘못 설정되었습니다.
- 열정적인 자간나트(2017-05-26).시간/날짜 변경 후 systemd 타이머가 재설정되지 않습니다.. 시스템 오류 #6036. GitHub.
답변2
업데이트(2022-08-08):버그 수정지금 병합. 다음 해결 방법이 더 이상 필요하지 않기를 바랍니다.
업데이트(2023-01-28):아쉽게도 버그가 수정되었습니다복원될 것이다버전 252에서는 또 다른 회귀가 발생했습니다. 따라서 문제는 여전히 존재하며 아래 해결 방법은 여전히 관련이 있습니다.
~까지시스템 오류 수정되었습니다. 이 해결 방법을 사용하여 타이머를 다시 동기화했습니다.
- 손상된 타임스탬프가 있는 모든 파일을 터치하세요.
/var/lib/systemd/timers
- 기계를 다시 시작하세요
이제 systemctl list-timers
정상적인 출력이 다시 표시됩니다.
~에 따르면아치 문서, 타임스탬프 파일을 삭제하는 것도 안전해야 합니다.
타이머가 동기화되지 않은 경우 .txt 파일에서 stamp-* 파일을 삭제하면 도움이 될 수 있습니다
/var/lib/systemd/timers
. 이는 각 타이머가 마지막으로 실행된 시간을 표시하는 길이가 0인 파일입니다. 삭제하면 다음에 타이머가 시작될 때 다시 작성됩니다.