Recently my blog went down (the ISP running it had downtime.) I wanted to see when it came back up. As a result I wrote a little Windows batch script to continually poll my address in order to do just that.
The script issues a query to the default DNS server as well as pings the address of the blog. I used both since sometimes in Windows a ping will simply use internal system cache, which may be wrong if the IP address hosting my blog changes (it’s address is dynamic.)
The script is below:
@ECHO OFF :loop cls nslookup jeppson.org | findstr "Address" | findstr /V 10.97.160.160 ping -n 1 jeppson.org timeout /t 3 goto loop
I use the /V argument to take out the first bit spit out from the nslookup command, namely the IP address of the nameserver being used.
A simpler version of the script only issues one ping, waits a second, and then repeats the command. This is different from doing ping -t because it forces ping to do a new lookup for the domain name, whereas ping -t only resolves the IP once, then just pings the IP address. That wouldn’t work in my case as the IP of the domain name changes when it comes back online.
@ECHO OFF :loop ping -n 1 jeppson.org timeout /t 1 goto loop
Thanks to Stack Overflow for educating me on how to write a quick loop to emulate the Linux Watch command, ping only once, and use an application similar to grep to clean up output.