o temporizador systemd falha ao iniciar (argumento inválido) ao usar a hora UTC

2

Aqui está o meu temporizador:

[Unit]
Description=Do whatever

[Timer]
OnCalendar=daily UTC

[Install]
WantedBy=timers.target

Falha ao iniciar com o seguinte erro:

Failed to start mytimer.timer: Unit mytimer.timer failed to load: Invalid argument. See system logs and 'systemctl status mytimer.timer' for details.

Infelizmente, systemctl status não adiciona clareza à mensagem de erro

Mas, se eu remover o literal UTC, ele funcionará perfeitamente:

[Unit]
Description=Do whatever

[Timer]
OnCalendar=daily

[Install]
WantedBy=timers.target

O que estou fazendo de errado?

Este documento descreve o formato aceito por OnCalendar , e mostra que o UTC pode ser usado.

Sim, tentei usar aspas - não ajuda. Eu também tentei usar o formulário normalizado - mesma coisa

Versões:

  • SO: CentOS 7
  • kernel: 3.10.0-042stab113.21
  • systemd: systemd-219-19.el7_2.9.x86_64
por Grisha S 24.03.2017 / 08:40

1 resposta

4

Usando OnCalendar= com qualquer timestamp com sufixo UTC requer systemd 228 ou mais tarde. Esta funcionalidade foi adicionada no systemd 228.

Do systemd changelog :

CHANGES WITH 228:

...

  • Wherever systemd expects a calendar timestamp specification (like in journalctl's --since= and --until= switches) UTC timestamps are now supported. Timestamps suffixed with "UTC" are now considered to be in Universal Time Coordinated instead of the local timezone. Also, timestamps may now optionally be specified with sub-second accuracy. Both of these additions also apply to recurring calendar event specification, such as OnCalendar= in timer units.
    
por 24.03.2017 / 08:52

Tags