Being a freelance web developer, there are many times where I’m moving domains for clients (or more recently, myself), and need to know when the DNS entries change to point at the new version of a site. I could just keep submitting an nslookup request manually, but that requires me to stop whatever it is I’m doing, switch to my terminal app, and execute the command. After doing a few sites this way, I decided that there had to be a better way…and there is. I came up with the following bash script to automate this process.
#! /bin/bash
count=1
while [ 1 ]
do
echo Attempt $count
nslookup $1
sleep $2
count=`expr $count + 1`
done
Yes, it’s just that simple. As you can see, the script takes 2 parameters, the domain name to check, and a time (in seconds) to pause between each check. I don’t know if there’s a rule about the amount of time between requests for nslookup, but I usually don’t use anything lower than 5 minutes (300 seconds).
To use, just paste the code above into a file, save it (I named mine “autons”), and give it execute permissions (“chmod +x autons”). To test a site, use something like the following: “autons yahoo.com 300”. This would check the DNS address for yahoo.com every 5 minutes.