# Gandi Dynamic DNS Cron job to auto update a DNS record when WAN IP changes using Gandi Live DNS API on Debian GNU/Linux ## To install ``` git clone https://gitlab.com/lab.8916100448256/gandi-dynamic-dns.git ./gandi-dynamic-dns cd ./gandi-dynamic-dns sudo bash ./install.sh ``` Then configure DNS record info and API key in file /etc/live-dns/live-dns.conf ## How it works ### /etc/cron.d/live-dns-update Cron job definition to check for WAN IP change and call Live DNS API to update the DNS record if necessary. By default runs the check/update script 2 times per hour, at every hour past 12 and 42 minutes. ### /etc/live-dns/live-dns.conf Configuration file for the check/update script Needs to contains 3 environment variable definitions + DOMAIN="domain.tld" : Replace domain.tld with your domain name + RECORD="host" : Replace host with the sub domain you want to update when WAN IP changes + APIKEY="Your-API-Key" : Replace with you API key generated on the Gandi web interface. ### /usr/local/bin/live-dns-update.sh This the script that is called by the cron job. This script is based on the sample provided on Gandi GitHub : [mywanip.sh](https://github.com/Gandi/api-examples/blob/master/bash/livedns/mywanip.sh)