Information ausblenden
Das Digital Eliteboard ist ein Kostenloses Forum. Wenn du alle Bereiche sehen möchtest oder Fragen hast, musst du dich zunächst Registrieren.

Jetzt Registrieren

Talk Dnsomatic script von Fritbox auf Raspi

Dieses Thema im Forum "Raspberry Pi" wurde erstellt von Clarion30, 17. Dezember 2013.

  1. Clarion30
    Offline

    Clarion30 Ist gelegentlich hier

    Registriert:
    7. Dezember 2011
    Beiträge:
    41
    Zustimmungen:
    1
    Punkte für Erfolge:
    8
    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 - Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren)
    ### 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 - Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')
    [ -z $HOSTIP ] && HOSTIP=`wget -q -O - Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren | grep IP | expr \`awk '{print $6}'\` : '\([0-9.]*\)'`
    [ -z $HOSTIP ] && HOSTIP=$(wget -q -O - Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>')
    [ -z $HOSTIP ] && HOSTIP=$(wget -q -O - Du mußt dich Registrieren um diesen Link sehen zu können. Hier klicken und kostenlos Registrieren)

    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: 19. Dezember 2013
    #1

Direkt Antworten

Überprüfung:
Der Entwurf wurde gespeichert Der Entwurf wurde gelöscht

Diese Seite empfehlen

OK Mehr information

Diese Seite verwendet Cookies. Mit Ihrem Klick auf OK stimmen Sie der Verwendung von Cookies zu. Andernfalls ist die Funktionalität dieser Website beschränkt.