“systemctl list-timers” mostra as últimas datas executadas que estão longe no futuro

3

Quando executo systemctl list-timers , as últimas datas executadas estão longe no futuro. Por exemplo, isso faz parte da saída:

$ 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

Quando verifiquei meu backup, que deve ser acionado pelo trabalho rsnapshot-daily.timer , percebi que ele parou de funcionar há cerca de uma semana. Assim, parece que os timers do systemd estão parcialmente quebrados no meu sistema.

Assumo que o problema desaparecerá se eu reiniciar a máquina. Ainda assim, estou curioso para saber se é um problema conhecido e se há alguma solução alternativa?

Reiniciar os timers não fez diferença (por exemplo, systemctl restart rsnapshot-daily.timer ). As últimas datas executadas ainda estão em 2092.

Estou usando a versão 234.11-8 do systemd no Arch Linux.

    
por Philipp Claßen 18.08.2017 / 20:45

2 respostas

2

Até que o bug Systemd seja corrigido, usei esta solução alternativa para sincronizar os timers novamente:

  • Toque em todos os arquivos com timestamps quebrados em /var/lib/systemd/timers
  • Reinicialize a máquina

Agora, systemctl list-timers mostra a saída sã novamente.

De acordo com a documentação do Arch , a exclusão dos arquivos de carimbo de data / hora também deve ser segura:

If a timer gets out of sync, it may help to delete its stamp-* file in /var/lib/systemd/timers. These are zero length files which mark the last time each timer was run. If deleted, they will be reconstructed on the next start of their timer.

    
por 21.08.2017 / 22:50
4

Este é o comportamento do timer do systemd que é acionado por um relógio do sistema que estava em um ponto definido erroneamente para um momento no futuro, o ano de 2092 no seu caso:

por 18.08.2017 / 22:24