«Systemctl list-timers» показывает последние выполненные даты, которые далеки в будущем

Когда я запускаю 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 rsnapshot@daily.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 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 , я заметил, что она перестала работать около недели назад. Таким образом, похоже, что таймеры systemd частично разбиты на моей системе.

Я предполагаю, что проблема исчезнет, ​​если я перезагружу свою машину. Тем не менее, мне любопытно, если это известная проблема и есть ли какие-нибудь обходные пути?

Перезапуск таймеров не systemctl restart rsnapshot-daily.timer (например, systemctl restart rsnapshot-daily.timer ). Последние выполненные даты все еще находятся в 2092 году.

Я использую systemd версию 234.11-8 в Arch Linux.

2 Solutions collect form web for “«Systemctl list-timers» показывает последние выполненные даты, которые далеки в будущем”

Это поведение таймера systemd, которое запускается системными часами, которые были в какой-то момент ошибочно настроены на время в будущем, 2092 год в вашем случае:

  • Zeal Jagannatha (2017-05-26). Таймеры systemd не сбрасываются после изменения времени / даты . systemd ошибка # 6036. GitHub.

До тех пор, пока ошибка Systemd не будет исправлена, я использовал это обходное решение, чтобы снова синхронизировать таймеры:

  • Коснитесь всех файлов со сломанными метками времени в /var/lib/systemd/timers
  • Перезагрузите компьютер

Теперь, systemctl list-timers снова показывает systemctl list-timers .

Согласно документации Arch , удаление файлов временной отметки также должно быть безопасным:

Если таймер не синхронизируется, это может помочь удалить его штамп-файл в /var/lib/systemd/timers . Это файлы с нулевой длиной, которые отмечают последний раз, когда запускался каждый таймер. Если они будут удалены, они будут восстановлены при следующем запуске их таймера.

  • системный таймер каждые 2 часа через 30 минут после часа?
  • systemd: Как выполнять задание как периодически, так и один раз при завершении работы системы?
  • Периодически выполняемый btrfs-scrub
  • Запуск пользовательского таймера systemd, когда у них нет открытого сеанса
  • Поручить выполнить блок после успешного завершения работы другого устройства
  • Cron vs systemd таймеры
  • Linux и Unix - лучшая ОС в мире.