#!/bin/bash ############################################################################################## . /usr/local/etc/renew-cert-letsencrypt.cf || exit 1 ############################################################################################## ARGS=$(echo ${ARGS}) # Récupérer l'âge du certificat age=$(($(date +%s)-$(date -r /etc/nginx/privkey.pem +%s))) age=$((${age}/86400)) echo -n "* Certificat renouvelé il y a ${age} jours => renouvellement " if [ ${age} -ge ${AGEMAX} ] ; then echo "nécessaire" else if [ "${1}" = "-f" ] ; then echo "forcé" else echo "pas nécessaire" exit 0 fi fi echo cd ${REP} echo -e "* Commande à exécuter:\n\n${PROG} ${ARGS}\n" service nginx stop ${PROG} ${ARGS} echo # Récupérer le nom du dossier qui contient le certificat le plus récent rep=$(ls -l --time-style long-iso /etc/letsencrypt/live/*/privkey.pem |awk '{print $6" "$7" "$8}' |sort |tail -1 |cut -d"/" -f5) echo -n "* Certificat le plus récent: /etc/letsencrypt/live/${rep} => " # Comparer le certificat le plus récent et le certificat installé diff /etc/letsencrypt/live/${rep}/privkey.pem /etc/nginx/privkey.pem > /dev/null if [ $? -eq 1 ] ; then echo "renouvelé" echo "* Installation certificat pour Nginx" cp /etc/letsencrypt/live/${rep}/fullchain.pem /etc/nginx/ cp /etc/letsencrypt/live/${rep}/privkey.pem /etc/nginx/ if [ -f /usr/local/etc/certs-letsencrypt_post_ok.sh ] ; then . /usr/local/etc/certs-letsencrypt_post_ok.sh fi else echo "PAS renouvelé" fi service nginx start echo