40 lines
1.1 KiB
Bash
Executable File
40 lines
1.1 KiB
Bash
Executable File
#!/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)
|
|
|
|
#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
|