Bloc notes

indexqui suis-je ?linuxcompteur php mysqllinux virushumourguitaremorpionalbum is coollivre d’orfarm villeaviationhoraires des magasinsplus belle la viebloc notesff7

Comment mettre à jour automatiquement l'adresse ip dans l'enregistrement DNS de gandi

Prérequis :

Récupérer l'Apikey sur https://account.gandi.net dans la section sécurité
ensuite dans Nom de domaine, Enregistrement DNS
Vous devez avoir au moins un enregistrement DNS
Enregistrer ce script dans vos documents, par exemple ~/linux/script/updatedns.py

#!/usr/bin/python
#doc https://api.gandi.net/docs/livedns/
import requests
import urllib

headers = {'authorization': 'Apikey votre clef'}

# Recupere l'Ip externe
page = urllib.urlopen("http://www.monip.org/").read()
ip = page.split("IP : ")[1].split("<br>")[0]
print (ip)

#api gandy GET
response = requests.request("GET", url, headers=headers)
print("GET")
print(response.text)

#l'adresse ip est differente
if response.text.find(str(ip)) == -1:

print ("*********************")
print ("******ip differente, faire le PUT @******")
print ("*********************")


next_put = {"rrset_type" : "@", "rrset_values" : [str(ip)]}

print("PUT A")
print next_put
url = "https://api.gandi.net/v5/livedns/domains/votre nom de domaine sans le www/records/@/A"
response = requests.put(url, json=next_put, headers=headers)
print("reponse du put A")
print(response.text)
next_put = {"rrset_type" : "www", "rrset_values" : [str(ip)]}

print("PUT www")
print next_put
url = "https://api.gandi.net/v5/livedns/domains/votre nom de domaine sans le www/records/www/A"
response = requests.put(url, json=next_put, headers=headers)
print("reponse du put www")
print(response.text)

rendre le fichier exectuable

chmod +x updatedns.py

Il faut maintenant dire à cron qu'il y a un nouveau fichier à éxecuter régulierement
éditer crontab

crontab -e

aller en bas du fichier, après la ligne

# m h dom mon dow command

ajouter la ligne suivante

0 * * * * python /home/bertrand/linux/script/updatedns.py

Ici, par exemple, cron va lancer le script toutes les heures, le 0 indique que le script se lancera à chaque fois que l'horloge indiquera 0 minute, c'est à dire toute les heures.
puis taper sur Ctrl-O pour sauvegarder, puis Entrée pour valider, puie Ctrl-X pour quitter

Vérifier le fichier avec

crontab -l

redémarrer cron après chaque modification

/etc/init.d/cron restart

puis une ou deux heures plus tard, controler dans le journal l'execution du script et son heure d'execution, et qu'il n'y a pas d'erreur

cat /var/log/syslog | grep updatedns.py
Feb 3 14:00:01 bertrand-X200CA CRON[40222]: (bertrand) CMD (python /home/bertrand/linux/script/updatedns.py)

04/02/2021

indexqui suis-je ?linuxcompteur php mysqllinux virushumourguitaremorpionalbum is coollivre d’orfarm villeaviationhoraires des magasinsplus belle la viebloc notesff7

Valid HTML 4.01 Transitional