Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Dnsomatic script von Fritbox auf Raspi

Clarion30

Ist gelegentlich hier
Registriert
7. Dezember 2011
Beiträge
44
Reaktionspunkte
7
Punkte
28
Hallo,

habe jetzt meinen Raspberry am laufen und möchte noch ein Script hier aus der Database "mitnehmen" auf der Fritte lief es beim Raspberry nur bedingt.

Es funktioniert dyndns update und log file schreiben ich bekomme nur keine email crontab wird alle 5 min. ausgeführt

hier das Script vielleicht kann einer mal drüber schauen wo der Fehler ist Daten sind keine eingegeben.


Gruß und danke Clarion
############################## config - Bereich ######################################################
### Usernamen, PW und Dyndns-Adresse eintragen ############

USERNAME="name"
PASSW="passwort"
DYNADDI="dyn.dyndns.org"
LOGPFAD=/var/log/DynUpdateCheck.log # SpeicherOrt des LogFile
MAXLOGSIZE="100" # 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="yes" # 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 - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')
[ -z $HOSTIP ] && HOSTIP=`wget -q -O - | grep IP | expr \`awk '{print $6}'\` : '\([0-9.]*\)'`
[ -z $HOSTIP ] && HOSTIP=$(wget -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')
[ -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



hat sich erledigt mache das jetz mit ddclient
 
Zuletzt bearbeitet:
Zurück
Oben