Skip to content

Instantly share code, notes, and snippets.

@mhussain
Forked from smarthall/update-dns.sh
Created May 8, 2012 10:15
Show Gist options
  • Save mhussain/2634050 to your computer and use it in GitHub Desktop.
Save mhussain/2634050 to your computer and use it in GitHub Desktop.
Linode dynamic DNS updating script
#!/bin/sh
# modified by jfro from http://www.cnysupport.com/index.php/linode-dynamic-dns-ddns-update-script
# Uses curl to be compatible with machines that don't have wget by default
LINODE_API_KEY=licensekey
DOMAIN_ID=domainid
RESOURCE_ID=resourceid
WAN_IP=`curl -s ifconfig.me/ip`
if [ -f $HOME/.wan_ip.txt ]; then
OLD_WAN_IP=`cat $HOME/.wan_ip.txt`
else
echo "No file, need IP"
OLD_WAN_IP=""
fi
if [ "$WAN_IP" = "$OLD_WAN_IP" ]; then
echo "IP Unchanged"
else
echo $WAN_IP > $HOME/.wan_ip.txt
echo "Updating DNS to $WAN_IP"
curl -s https://api.linode.com/?api_key="$LINODE_API_KEY"\&api_action=domain.resource.update\&DomainID="$DOMAIN_ID"\&ResourceID="$RESOURCE_ID"\&Target="$WAN_IP" > /dev/null
fi
@curiousercreative
Copy link

Wonderful, I'm running this script every hour on my mac now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment