Update docs/Savaneprod/2025-04-03-infomaniak_dyndns.md
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -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_*_*_*_*).
|
||||
|
||||
Reference in New Issue
Block a user