Befehl bei Änderung der IP-Adresse einer Domain ausführen

Nordwin

Grünschnabel
Hallo,

ich möchte einen Befehl ausführen, sobald sich die IP-Adresse eines Dyndns-Hostes geändert hat. Hab bereits ein Skript programmiert, bin mir aber nicht sicher ob es einwandfrei funktioniert, da ich bisher mit Shell Skripten noch nicht gearbeitet habe.

Code:
#!/bin/sh

host=friend.dyndns.org				# Adresse
wait=300					# Zeit in Sekunden zwischen den Abragen
log=1						# Log Datei in /tmp erstellen (0=aus; 1=ein)

#######################################################################################################

ip=`ping -c 1 "$host" | sed -n 1p | sed -e 's/:.*//g' -e "s/PING $host //g" -e 's/(//g' -e 's/)//g'`

while true; do
	
	ping1=`ping -c 1 "$host" | sed -n 1p | sed -e 's/:.*//g' -e "s/PING $host //g" -e 's/(//g' -e 's/)//g'`

	if [ "$ip" != "$ping1" ]; then	 
	
         #Befehl
	 
	 	if [ $log = "1" ]; then
	 		akt_date=`date +%d.%m.%Y`
	 		akt_time=`date +%H:%M:%S`
	 		echo "Neustart der des Programms am $akt_date um $akt_time Uhr." >> /tmp/dns_log
	
		fi
	 
	ip=`ping -c 1 "$host" | sed -n 1p | sed -e 's/:.*//g' -e "s/PING $host //g" -e 's/(//g' -e 's/)//g'`
	
	fi
	
	sleep $wait
	
	done
	
	exit 0

Was ist eure Meinung zu dem Code, ist er sauber programmiert oder könnte man es besser umsetzen?

Gruß Nordwin
 
Zurück