Comment programmer le chiffrement de certbot pour renouveler automatiquement mon certificat en cron?

13
demandé sur Chapman Atwell 2017-01-08 20:24:55

4 réponses

alors j'ai décidé de le faire tourner une fois par jour. J'ai d'abord testé le renouvellement automatique les docs recommandons:

sudo letsencrypt renew --dry-run --agree-tos

Ensuite, j'ai mis à jour la crontab:

sudo crontab -e

Voici la ligne que j'ai ajoutée:

12 3 * * *   letsencrypt renew >> /var/log/letsencrypt/renew.log

ceci exécute le "renew everday" à 3h12. Je suppose que les docs recommandent "une minute aléatoire dans l'heure" pour distribuer la charge sur les serveurs renew. Donc je suppose que tout autre que 0, 15, 30, ou 45 est préférable.

j'ai regardé dans randomisation de la minute dans le cron cadre, comme Jenkins permet de le faire, mais cela semblait trop compliqué.

finalement, j'ai testé la commande cron en utilisant sudo bash:

sudo bash -c "letsencrypt renew >> /var/log/letsencrypt/renew.log"
19
répondu Chapman Atwell 2017-05-23 12:09:49

j'ai récemment (avril 2018) installé et lancé certbot (version 0.22.2) sur un serveur Ubuntu 16.04, et un travail de renouvellement cron a été créé automatiquement dans /etc/cron.d / certbot.

Voici l'emploi cron qui a été créé:

# /etc/cron.d/certbot: crontab entries for the certbot package
#
# Upstream recommends attempting renewal twice a day
#
# Eventually, this will be an opportunity to validate certificates
# haven't been revoked, etc.  Renewal will only occur if expiration
# is within 30 days.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

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

s'il vous Plaît vérifier avant de mettre une nouvelle tâche Cron.

11
répondu V-Q-A NGUYEN 2018-05-04 09:14:03

j'ai ajouté la ligne suivante /etc/crontab exécuter tentative de renouvellement par jour aléatoire minute entre 00: 00 et environ 16: 40:

1  1    * * *   root    sleep ${RANDOM:0:3}m && /home/admin/certbot-auto renew --quiet --no-self-upgrade --authenticator webroot --installer apache -w /var/www/mywebroot

Fonctionne très bien depuis plus d'un an maintenant.

la commande renew elle - même peut varier pour vous-j'ai utilisé webroot car il semblait le plus robuste à l'époque.

0
répondu andruso 2018-07-28 13:12:05

normalement quand vous exécutez un certbot pour n'importe quel serveur web dans un serveur Ubuntu 16.04 il crée automatiquement un cron

#cat /etc/cron.d/certbot

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew
0
répondu Shakeel 2018-08-29 14:08:55