5 votes

Est-ce que certbot va réellement renouveler mon certificat?

En regardant /etc/cron.d/certbot, je ne pense pas que cela le fera ! Ce fichier contient la ligne :

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew

Et, à moins que je ne le lise mal, le renouvellement ne se produira que s'il y a un fichier lisible et exécutable appelé /usr/bin/certbot (ce qui est le cas) ET s'il n'y a pas de répertoire appelé /run/systemd/system (mais il y en a un, même s'il est vide).

Donc, ai-je raison de penser que la partie certbot -q renew ne s'exécutera jamais ? Y a-t-il peut-être un autre endroit qui déclenche également le renouvellement ? (Je pensais qu'il pourrait y avoir quelque chose dans /run/systemd/system car c'est ce qui est vérifié, mais comme je l'ai dit, il n'y a rien. Par curiosité, pourquoi ce petit script vérifie-t-il la non-existence de /run/systemd/system ?)

Cela fonctionne avec la dernière version de certbot (v1.18.0, installée hier en suivant les instructions officielles) sur Ubuntu 18.04.

En passant, j'ai exécuté :

test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot renew --dry-run

en tant que root dans la ligne de commande, et cela se termine immédiatement avec un code de sortie de 1.

10voto

vidarlo Points 3169

Si le système utilise systemd, il fonctionnera en tant que service systemd, déclenché par le temps.

Si vous exécutez systemctl status certbot.timer, vous obtiendrez le statut du service qui déclenche certbot à partir de systemd.

C'est pourquoi le script cron est configuré pour ne pas exécuter le renouvellement si systemd est détecté sur la machine.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X