From c57cb0414e9fecc1e0b0262358920bb49e1a546a Mon Sep 17 00:00:00 2001 From: jf Date: Fri, 11 Apr 2025 12:45:30 +0200 Subject: [PATCH] Update docs/Savaneprod/2025-04-03-infomaniak_dyndns.md --- .../2025-04-03-infomaniak_dyndns.md | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/docs/Savaneprod/2025-04-03-infomaniak_dyndns.md b/docs/Savaneprod/2025-04-03-infomaniak_dyndns.md index a7ff11c..9c6799b 100644 --- a/docs/Savaneprod/2025-04-03-infomaniak_dyndns.md +++ b/docs/Savaneprod/2025-04-03-infomaniak_dyndns.md @@ -26,9 +26,34 @@ Il suffit donc d'un mini script à faire exécuter via la `crontab`. Avec Synolo ## Déploiement du script de mise à jour de l'adresse IP ### Création du script -Créer un fichier, par exemple [dyndns_with_infomaniak.sh](https://gitea.savaneprod.fr/jf/Small_versioned_projects/src/branch/main/dyndns_with_Infomaniak/dyndns_with_infomaniak.sh) avec le contenu ci-dessous. Puis lui appliquer la permission d'exécution `chmod u+x ddns.sh`. +Créer un fichier, par exemple `dyndns_with_infomaniak.sh` avec le contenu ci-dessous. Puis lui appliquer la permission d'exécution `chmod u+x ddns.sh`. Il faudra également créer un fichier `dyndns_with_infomaniak.var` avec les variables de domaines et identifiants. +```bash +#!/usr/bin/bash + +DOMAINS=("fqdn1" "fqdn2") +USERNAME="default_username" +PASSWORD="default_password" + +source /root/dyndns_with_infomaniak.var + +echo "$(date +%Y-%m-%d\ %H:%M)" + +for d in "${DOMAINS[@]}"; do + OUTPUT=$(curl https://$USERNAME:$PASSWORD@infomaniak.com/nic/update?hostname=$d) + if [[ $? -ne 0 ]] + then + echo $OUTPUT + else + echo "$OUTPUT for $d" + fi +done + +echo "------------------------" + +exit 1 +``` ### Faire exécuter le script régulièrement par le système #### La crontab @@ -40,7 +65,7 @@ crontab -e Dans la crontab j'ai ajouté la ligne suivante : ```crontab -*/10 * * * * /root/ddns.sh>>/var/log/ddns.log +*/10 * * * * /root/dyndns_with_infomaniak.sh>>/var/log/dyndns_with_infomaniak.log ``` Ça me fait toujours mal à la tête de lire la programmation d'un "cron job". Dans le cas présent ça exécute le script toute les 10 minutes (ouais on sauve pas des vies, hein), à toutes heures de la journée, tous les jours du mois, tous les mois, tous les jours de la semaine. Si t'as envie de jouer, il exite [Crontab guru](https://crontab.guru/#*/10_*_*_*_*).