Eine quick&dirty Methode zum Updaten eines DynDNS-Eintrags von afraid.org
die Idee kam von folgenden Beitrag auf stackoverflow.com
dynamischer.hostname.com ist halt auf den Eigenen zu ändern, sowie die eigene webupdate-url von afraid.org einzutragen.
Hier steht wie’s geht.
Das script am besten nach /usr/local/bin, falls man das hosts-file nicht updaten will|muß sollte es im usercontext (also nicht als root;-) ) laufen.
#!/bin/bash # Get the dynamic IP (dirty, I know) #disable echo http://stackoverflow.com/a/5973558 echo() { :; } #oldip IP=`host -t a dynamischer.hostname.com | perl -nle '/((?:\d+\.?){4})/ && print $1' | head -n1` #real IP IPR=`wget http://ipinfo.io/ip -qO -` echo $IP echo $IPR #teste ob die external IP sich geändert hat & Update the hosts file if [ "$IP" != "$IPR" ] ; then echo "change detected" curl -k http://freedns.afraid.org/dynamic/update.php?***webupdateurl*** IPN=`host -t a dynamischer.hostname.com | perl -nle '/((?:\d+\.?){4})/ && print $1' | head -n1` if [ "$IP" == "$IPN" ] ; then echo "Sucess update dns-entry dynamischer.hostname.com" #uncomment the next lines to update hosts file #grep -v dynamischer.hostname.com /etc/hosts > /tmp/hosts #echo "$IP dynamischer.hostname.com" >> /tmp/hosts #cp /tmp/hosts /etc/hosts else echo "something went terrible wrong, maybe offline" fi else echo "no change" fi
Automatisierung per cronjob
*/5 * * * * /usr/local/bin/update_dynip > /dev/null 2>&1