#/bin/sh ########## # CONFIG # ########## if [ -f dyndns.env ] then export $(cat dyndns.env | sed 's/#.*//g' | xargs) else echo "Error, dyndns.env doesn't exist" exit 1 fi if [ -z "$HOST" ] || [ -z "$LOGIN" ] || [ -z "$PASSWORD" ] || [ -z "$PATH_LOG" ] then echo "Error, please check your configuration in dyndns.env" exit 2 fi ########### # GET IPs # ########### HOST_IP=`dig A +short $HOST` # Flag 4 stand for IPv4 CURRENT_IP=`curl -s4 ifconfig.io` ####### # LOG # ####### echo "====================================" >> $PATH_LOG echo "Run dyndns - "$(date +"%D, %T") >> $PATH_LOG echo "Domain : $HOST" >> $PATH_LOG echo "Current IP : $CURRENT_IP" >> $PATH_LOG echo "Host IP : $HOST_IP" >> $PATH_LOG ############### # DO THE WORK # ############### if [ -z "$CURRENT_IP" -o -z "$HOST_IP" ] then echo "No IP retrieved" >> $PATH_LOG else if [ "$HOST_IP" != "$CURRENT_IP" ] then echo "IP has changed" >> $PATH_LOG RES=`curl -s --user "$LOGIN:$PASSWORD" "http://www.ovh.com/nic/update?system=dyndns&hostname=$HOST&myip=$CURRENT_IP"` echo "Result request dynHost" >> $PATH_LOG echo "$RES" >> $PATH_LOG echo "IP changed for $HOST, new IP is $CURRENT_IP" else echo "IP has not changed" >> $PATH_LOG fi fi