O comando atual executado pelo cron é:
test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew
Ele começa testando alguns arquivos
test -x /usr/bin/certbot -a \! -d /run/systemd/system
que se traduz em
- existe
/usr/bin/certbot
e é executável (-x /usr/bin/certbot
) - e não (
-a \!
) -
/run/systemd/system
existe e é um diretório (-d /run/systemd/system
)
Se o teste for bem-sucedido, aguarde um número aleatório de segundos ( perl -e 'sleep int(rand(3600))'
) e tente renovar o certificado ( certbot -q renew
).
No entanto, no Debian 9, systemd
é instalado por padrão, o que significa que /run/systemd/system
existe e é um diretório, então o teste inicial falha e o comando renew nunca é executado.
A renovação real é gerenciada por um temporizador systemd definido no arquivo lib/systemd/system/certbot.timer
. A partir da versão 0.27.0-1; seu conteúdo é:
[Unit]
Description=Run certbot twice daily
[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Persistent=true
[Install]
WantedBy=timers.target
Se o cerbot estiver configurado corretamente, você provavelmente encontrará linhas como
Nov 2 20:06:14 hostname systemd[1]: Starting Run certbot twice daily.
Nov 2 20:06:14 hostname systemd[1]: Started Run certbot twice daily.
no seu syslog
.