IP address change notifier script
This is a simple bash script that is run by crontab every 5 minutes on a linux box.
It e-mails me the new address when a change of IP address is detected.
The script (ipchangemail.sh)
#!/bin/bash # Check if IP-address has changed. If a change has occured, mail me the new address # Add the following line to crontab if you would like it to be run every 5 minutes: # */5 * * * * ./ipchangemail.sh # The network interface I want to monitor NET_INTERFACE=eth0 # File to keep the latest IP address IP_FILE=myip.txt # Mail to this address when a change occur MAILTO=mail@example.com # Read the previous IP address from file source $IP_FILE CURRENT_IP=`/sbin/ifconfig $NET_INTERFACE | sed -n "/inet addr:.*255.255.25[0-5].[0-9]/{s/.*inet addr://; s/ .*//; p}"` if [ "$CURRENT_IP" != "$OLD_IP" ] then # Send email about address change `echo "New IP address detected: $CURRENT_IP" | mail -s "New IP address" $MAILTO` # Write new address to file `echo "OLD_IP=$CURRENT_IP" > $IP_FILE` fi
The script can be downloaded here.