Temporizador Systemd ignorando horas múltiplas

2

em uma máquina Arch linux hospedando um nginx Eu quero renovar automaticamente seus certificados LetsEncrypt. Eu escrevi um .service e .timer para isso:

#letsencrypt-update.service
[Unit]
Description=LetsEncrypt Update Service

[Service]
Type=oneshot
ExecStart=/usr/bin/letsencrypt renew --quiet


#letsencrypt-update.timer
[Unit]
Description=LetsEncrypt Update Timer

[Timer]
OnCalendar=03,21:22
Persistent=true

[Install]
WantedBy=basic.target

Por documentação do certbot , a atualização do LetsEncrypt deve ser executada duas vezes por dia, por systemd.time documentation deve ser possível executar o serviço às 03:22 e 21:22 separando as horas por vírgula, mas quando reativar o temporizador, a próxima execução em systemctl list-timers é em 03:22 e não em 21:22 (são 10 horas aqui).

Por que isso? O systemd precisa executar o timer 03:22 antes de executar o 21:22?

    
por meilon 07.06.2016 / 10:42

2 respostas

1

Eu uso OnUnitActiveSec = 12h para renovar a cada 12 horas. Aqui está o meu certbot-renewal.timer completo:

[Unit]
Description=Timer for Certbot Renewal

[Timer]
OnBootSec=300
OnUnitActiveSec=12h

[Install]
WantedBy=multi-user.target
    
por 02.05.2018 / 12:03
0

A configuração original do Meilon parece estar ok. Mas eu usaria isso como configuração do timer:

#letsencrypt-update.timer
[Unit]
Description=LetsEncrypt Update Timer
PartOf=%p.service

[Timer]
OnCalendar=03,21:22
RandomizedDelaySec=600
Persistent=true

[Install]
WantedBy=basic.target
por 14.08.2018 / 12:38