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
|
## 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_*_*_*_*).
|
||||||
|
|||||||
Reference in New Issue
Block a user