What is it good for? I have a homepage and dynamic IP address that changes after an arbitrary timespan. When the change happens I can’t reach my server. To get it work again I have to adapt the IP location manually. I know there exists e.g. dyndns… or upgrade to a static IP but I want to save money and have no problems in doing it.
Here is a script that compares the current IP address with a stored one and sends the new by email to a user defined address:
#!/bin/bash MYIP="/home/user/myip.txt" GETIP4ADDR="wget -qO- http://ipecho.net/plain | xargs echo" GETIP6ADDR="wget -qO - icanhazip.com" IPADDR=$($GETIP4ADDR) EMAIL="sendmail -f email@example.com firstname.lastname@example.org" if [ -f "$MYIP" ]; then LASTIP="$(cat $MYIP)" if [ "$IPADDR" != "$LASTIP" ]; then # IP changed echo "$IPADDR" > $MYIP echo "subject: IP Update $IPADDR" | $($EMAIL) fi else # file missing, create file echo "$IPADDR" > $MYIP echo "subject: IP Update $IPADDR" | $($EMAIL) fi
sudo apt install sendmail
MYIP file location
sender email address
receiver email address
- Add script to your cron jobs, e.g. twice a day