bin2
This commit is contained in:
41
bin2/nettoyer_acme_json_certifs.sh
Executable file
41
bin2/nettoyer_acme_json_certifs.sh
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
|
||||
#date: 23/04/2025
|
||||
#ki: fab
|
||||
#koi: supprimer de acme.json les certificats LE devenus inutiles
|
||||
|
||||
KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
|
||||
. "${KAZ_ROOT}/bin/.commonFunctions.sh"
|
||||
setKazVars
|
||||
. "${DOCKERS_ENV}"
|
||||
|
||||
FILE_ACME_ORI="/var/lib/docker/volumes/traefik_letsencrypt/_data/acme.json"
|
||||
FILE_ACME="/tmp/acme.json"
|
||||
FILE_URL=$(mktemp)
|
||||
FILE_ACME_TMP=$(mktemp)
|
||||
|
||||
#l'ip du serveur:
|
||||
#marche po pour les machines hébergée chez T.C... :( on récupère l'IP dans config/dockers.env
|
||||
#MAIN_IP=$(curl ifconfig.me)
|
||||
|
||||
#DANGER: IP depuis config/dockers.env ne fonctionne pas pour les domaines hors *.kaz.bzh (ex:radiokalon.fr)
|
||||
|
||||
#sauvegarde
|
||||
cp $FILE_ACME_ORI $FILE_ACME
|
||||
cp $FILE_ACME "$FILE_ACME"_$(date +%Y%m%d_%H%M%S)
|
||||
|
||||
#je cherche toutes les url
|
||||
jq -r '.letsencrypt.Certificates[].domain.main' $FILE_ACME > $FILE_URL
|
||||
|
||||
while read -r url; do
|
||||
#echo "Traitement de : $url"
|
||||
nb=$(dig $url | grep $MAIN_IP | wc -l)
|
||||
if [ "$nb" -eq 0 ]; then
|
||||
#absent, on vire de acme.json
|
||||
echo "on supprime "$url
|
||||
jq --arg url "$url" 'del(.letsencrypt.Certificates[] | select(.domain.main == $url))' $FILE_ACME > $FILE_ACME_TMP
|
||||
mv -f $FILE_ACME_TMP $FILE_ACME
|
||||
fi
|
||||
done < "$FILE_URL"
|
||||
|
||||
echo "si satisfait, remettre "$FILE_ACME" dans "$FILE_ACME_ORI
|
Reference in New Issue
Block a user