Update docs/Savaneprod/2025-04-03-infomaniak_dyndns.md
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
jf
2025-04-11 12:45:30 +02:00
parent 018ef82fc0
commit c57cb0414e

View File

@@ -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 ## Déploiement du script de mise à jour de l'adresse IP
### Création du script ### 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. 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 ### Faire exécuter le script régulièrement par le système
#### La crontab #### La crontab
@@ -40,7 +65,7 @@ crontab -e
Dans la crontab j'ai ajouté la ligne suivante : Dans la crontab j'ai ajouté la ligne suivante :
```crontab ```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. Ç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_*_*_*_*). Si t'as envie de jouer, il exite [Crontab guru](https://crontab.guru/#*/10_*_*_*_*).