Hallo ich habe Problemme bei
Dyn-Adresse-Update-Check mit No-Ip Org
möchte mehrere Adresse mit Updaten
mein No Ip Adresse für DNSomatic
Anbei der Scrip vom Board Link ist nicht mehr aktiv.
Bekomme im Log angegzeigt das er ein Update gemacht hat aber es geht nicht. Bei DNSomatic zeigt er die alte Adresse an
Bitte um hife
Vieleicht eine Adresse falsch?
Dyn-Adresse-Update-Check mit No-Ip Org
möchte mehrere Adresse mit Updaten
mein No Ip Adresse für DNSomatic
Anbei der Scrip vom Board Link ist nicht mehr aktiv.
#!/bin/sh
############################## config - Bereich ######################################################
### Usernamen, PW und Dyndns-Adresse eintragen ############
USERNAME="sony" ( Zugang von DNSomatic
PASSW="test123" ( Passwort von DNSomatic
DYNADDI="test.no-ip.org" ( Von no ip .org)
LOGPFAD=/media/hdd/ip.log # SpeicherOrt des LogFile
MAXLOGSIZE="1000" # max Logfilegroesse in KB
### Dyn-Dienst hier eintragen, 3 Moeglichkeiten - "dyndns" oder "no-ip" oder "dnsomatic" ############
DYNDIENST="dnsomatic"
#### wenn E-Mail-Benachrichtigung gewuenscht,
## dann Zugangsdaten hier eintragen
EMAIL="no" # und hier "yes" eintragen
FROMMAIL="sender@gmx.de" # E-Mail Versender
TOMAIL="empfaenger@gmx.de" # E-Mail-Empfänger
MAILSRV="mail.gmx.net" # MAIL-SMTP-Server
PWMAIL="password" # Passwort vom Mailkonto
############################### config Ende ###############################################################
#############################################################################################################
DATUM=`date +%Y-%m-%d\ %H:%M:%S`
HOSTIP=$(wget -q -O -
### die folgende Zeile nur auf einer Fritzbox aktiviert lassen (auf einer Dream z.B. gibt es kein "get_ip")#
[ -z $HOSTIP ] && HOSTIP=$(/usr/bin/get_ip -e)
###
[ -z $HOSTIP ] && HOSTIP=$(wget -q -O -
[ -z $HOSTIP ] && HOSTIP=`wget -q -O -
[ -z $HOSTIP ] && HOSTIP=$(wget -q -O -
[ -z $HOSTIP ] && HOSTIP=$(wget -q -O -
sleep 1
[ $DYNDIENST = "dyndns" ] && URL="http://$USERNAME:$PASSW@members.dyndns.org/nic/update?hostname=$DYNADDI&myip=$HOSTIP"
[ $DYNDIENST = "dnsomatic" ] && URL="http://$USERNAME:$PASSW@updates.dnsomatic.com/nic/update?hostname=all.dnsomatic.com&myip=$HOSTIP"
[ $DYNDIENST = "no-ip" ] && URL="http://$USERNAME:$PASSW@dynupdate.no-ip.com/nic/update?hostname=$DYNADDI&myip=$HOSTIP"
if [ ! -z $HOSTIP ]; then
DYNIP=$(ping -c 1 "$DYNADDI" | sed -n 1p | sed -e 's/(//g' -e 's/)//g' | cut -d ' ' -f3 | cut -d ':' -f1)
if [ -z $DYNIP ]; then
echo "$DATUM - keine DYN-IP bekommen. Updatepruefung kann nicht ausgefuehrt werden. " >> $LOGPFAD
else
if [ $DYNIP = $HOSTIP ]; then
if [ -f $LOGPFAD ]; then
LOGGROESSE=$(du -k $LOGPFAD | cut -f 1 )
sleep 1
if [ $MAXLOGSIZE -le $LOGGROESSE ]; then
if [ $EMAIL = "yes" ]; then
mailer \
-s "DynUpdateCheck max Logfilegroesse erreicht - Logfile wird geloescht" \
-d "$LOGPFAD" \
-f $FROMMAIL \
-t $TOMAIL \
-m $MAILSRV \
-a $FROMMAIL \
-w $PWMAIL
sleep 15
fi
echo "$DATUM - DYN-IP ist:$DYNIP die Host-IP ist:$HOSTIP alles OK!" > $LOGPFAD
fi
[ $MAXLOGSIZE -gt $LOGGROESSE ] && echo "$DATUM - DYN-IP ist:$DYNIP die Host-IP ist:$HOSTIP alles OK!" >> $LOGPFAD
else
echo "$DATUM - DYN-IP ist:$DYNIP die Host-IP ist:$HOSTIP alles OK!" >> $LOGPFAD
fi
else
echo "$DATUM - DYN-IP ist:$DYNIP die Host-IP ist:$HOSTIP ein Update wird durchgefuehrt!" >> $LOGPFAD
UPDATE=$(wget -q -O - "$URL")
echo "$UPDATE" > /tmp/DynTMP.log
sleep 2
MELDUNG=$(cut -d' ' -f 1 /tmp/DynTMP.log)
if [ $MELDUNG = "good" ]; then
echo "$DATUM - $UPDATE Dyn-Update ist erfolgt - Script Ende" >> $LOGPFAD
if [ $EMAIL = "yes" ]; then
mailer \
-s "Dynamic DNS Probleme - DynUpdate ist erfolgt Meldung: $UPDATE" \
-f $FROMMAIL \
-t $TOMAIL \
-m $MAILSRV \
-a $FROMMAIL \
-w $PWMAIL
fi
else
echo "$DATUM - Dyn-Update war nicht erfolgreich." >> $LOGPFAD
if [ $EMAIL = "yes" ]; then
mailer \
-s "Dynamic DNS Probleme - DynUpdate war nicht erfolgreich Meldung: $UPDATE" \
-f $FROMMAIL \
-t $TOMAIL \
-m $MAILSRV \
-a $FROMMAIL \
-w $PWMAIL
fi
fi
fi
fi
else
echo "$DATUM Keine Host-IP bekommen! Eventuell nicht online?" >> $LOGPFAD
fi
############################## config - Bereich ######################################################
### Usernamen, PW und Dyndns-Adresse eintragen ############
USERNAME="sony" ( Zugang von DNSomatic
PASSW="test123" ( Passwort von DNSomatic
DYNADDI="test.no-ip.org" ( Von no ip .org)
LOGPFAD=/media/hdd/ip.log # SpeicherOrt des LogFile
MAXLOGSIZE="1000" # max Logfilegroesse in KB
### Dyn-Dienst hier eintragen, 3 Moeglichkeiten - "dyndns" oder "no-ip" oder "dnsomatic" ############
DYNDIENST="dnsomatic"
#### wenn E-Mail-Benachrichtigung gewuenscht,
## dann Zugangsdaten hier eintragen
EMAIL="no" # und hier "yes" eintragen
FROMMAIL="sender@gmx.de" # E-Mail Versender
TOMAIL="empfaenger@gmx.de" # E-Mail-Empfänger
MAILSRV="mail.gmx.net" # MAIL-SMTP-Server
PWMAIL="password" # Passwort vom Mailkonto
############################### config Ende ###############################################################
#############################################################################################################
DATUM=`date +%Y-%m-%d\ %H:%M:%S`
HOSTIP=$(wget -q -O -
Sie müssen registriert sein, um Links zu sehen.
)### die folgende Zeile nur auf einer Fritzbox aktiviert lassen (auf einer Dream z.B. gibt es kein "get_ip")#
[ -z $HOSTIP ] && HOSTIP=$(/usr/bin/get_ip -e)
###
[ -z $HOSTIP ] && HOSTIP=$(wget -q -O -
Sie müssen registriert sein, um Links zu sehen.
| grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')[ -z $HOSTIP ] && HOSTIP=`wget -q -O -
Sie müssen registriert sein, um Links zu sehen.
| grep IP | expr \`awk '{print $6}'\` : '\([0-9.]*\)'`[ -z $HOSTIP ] && HOSTIP=$(wget -q -O -
Sie müssen registriert sein, um Links zu sehen.
| grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')[ -z $HOSTIP ] && HOSTIP=$(wget -q -O -
Sie müssen registriert sein, um Links zu sehen.
)sleep 1
[ $DYNDIENST = "dyndns" ] && URL="http://$USERNAME:$PASSW@members.dyndns.org/nic/update?hostname=$DYNADDI&myip=$HOSTIP"
[ $DYNDIENST = "dnsomatic" ] && URL="http://$USERNAME:$PASSW@updates.dnsomatic.com/nic/update?hostname=all.dnsomatic.com&myip=$HOSTIP"
[ $DYNDIENST = "no-ip" ] && URL="http://$USERNAME:$PASSW@dynupdate.no-ip.com/nic/update?hostname=$DYNADDI&myip=$HOSTIP"
if [ ! -z $HOSTIP ]; then
DYNIP=$(ping -c 1 "$DYNADDI" | sed -n 1p | sed -e 's/(//g' -e 's/)//g' | cut -d ' ' -f3 | cut -d ':' -f1)
if [ -z $DYNIP ]; then
echo "$DATUM - keine DYN-IP bekommen. Updatepruefung kann nicht ausgefuehrt werden. " >> $LOGPFAD
else
if [ $DYNIP = $HOSTIP ]; then
if [ -f $LOGPFAD ]; then
LOGGROESSE=$(du -k $LOGPFAD | cut -f 1 )
sleep 1
if [ $MAXLOGSIZE -le $LOGGROESSE ]; then
if [ $EMAIL = "yes" ]; then
mailer \
-s "DynUpdateCheck max Logfilegroesse erreicht - Logfile wird geloescht" \
-d "$LOGPFAD" \
-f $FROMMAIL \
-t $TOMAIL \
-m $MAILSRV \
-a $FROMMAIL \
-w $PWMAIL
sleep 15
fi
echo "$DATUM - DYN-IP ist:$DYNIP die Host-IP ist:$HOSTIP alles OK!" > $LOGPFAD
fi
[ $MAXLOGSIZE -gt $LOGGROESSE ] && echo "$DATUM - DYN-IP ist:$DYNIP die Host-IP ist:$HOSTIP alles OK!" >> $LOGPFAD
else
echo "$DATUM - DYN-IP ist:$DYNIP die Host-IP ist:$HOSTIP alles OK!" >> $LOGPFAD
fi
else
echo "$DATUM - DYN-IP ist:$DYNIP die Host-IP ist:$HOSTIP ein Update wird durchgefuehrt!" >> $LOGPFAD
UPDATE=$(wget -q -O - "$URL")
echo "$UPDATE" > /tmp/DynTMP.log
sleep 2
MELDUNG=$(cut -d' ' -f 1 /tmp/DynTMP.log)
if [ $MELDUNG = "good" ]; then
echo "$DATUM - $UPDATE Dyn-Update ist erfolgt - Script Ende" >> $LOGPFAD
if [ $EMAIL = "yes" ]; then
mailer \
-s "Dynamic DNS Probleme - DynUpdate ist erfolgt Meldung: $UPDATE" \
-f $FROMMAIL \
-t $TOMAIL \
-m $MAILSRV \
-a $FROMMAIL \
-w $PWMAIL
fi
else
echo "$DATUM - Dyn-Update war nicht erfolgreich." >> $LOGPFAD
if [ $EMAIL = "yes" ]; then
mailer \
-s "Dynamic DNS Probleme - DynUpdate war nicht erfolgreich Meldung: $UPDATE" \
-f $FROMMAIL \
-t $TOMAIL \
-m $MAILSRV \
-a $FROMMAIL \
-w $PWMAIL
fi
fi
fi
fi
else
echo "$DATUM Keine Host-IP bekommen! Eventuell nicht online?" >> $LOGPFAD
fi
Bekomme im Log angegzeigt das er ein Update gemacht hat aber es geht nicht. Bei DNSomatic zeigt er die alte Adresse an
Bitte um hife
Vieleicht eine Adresse falsch?