1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Talk DDNSupdater oder DDclient?!

Dieses Thema im Forum "IPC" wurde erstellt von amassidda, 7. Mai 2012.

  1. amassidda
    Offline

    amassidda Meister

    Registriert:
    30. Mai 2010
    Beiträge:
    786
    Zustimmungen:
    336
    Punkte für Erfolge:
    63
    Beruf:
    Informatiker
    Hallo Leute

    Habe gerade gelesen das man die Dyndns mit dem IPC Updaten kann.

    Habe folgendes gefunden: DDNSupdater und ddclient

    Den DDNSupdater habe ich kopieren müssen und meine daten eintragen müssen und am Ende sa die DDNSupdater.sh Datei so aus:

    #!/bin/bash
    #
    # DynamicDNSupdater - supports: DynDNS.org, NO-IP.com, DYNServ.ca and IPActive.de
    #
    # Es koennen auch verschiedene Dienste genutzt werden um mehrere DNS-Hosts zu nutzen...
    #
    # Sonderzeichen im Password werden nun auch supported (danke IDDQD)
    #
    # credits: Didge2002, SnowHead, r00t, rj.2001, IDDQD
    #
    ### CONFIG - START

    # Zugangsdaten...
    # es koennen mehrere accounts geupdated werden... (rest auskommentieren)
    USERNAME["1"]="l*a-**" # DDNS Benutzername1
    PASSWORD["1"]="s*****" # DDNS Passwort1
    DDNSHOST["1"]="cag**.dyndns.**" # DDNS Hostname1

    #USERNAME["2"]="benutzer2" # DDNS Benutzername2
    #PASSWORD["2"]="password2" # DDNS Passwort2
    #DDNSHOST["2"]="host2.zapto.org" # DDNS Hostname2

    #USERNAME["3"]="user" # DDNS Benutzername3
    #PASSWORD["3"]="pass" # DDNS Passwort3
    #DDNSHOST["3"]="dynadresse" # DDNS Hostname3
    #

    # Provider URL's - pro DDNSHOST muss wie oben ein dazu passendes URL["<zahl>"] angelegt werden!
    # (beliebig erweiterbar)
    #
    # $USERNAME , $PASSWORD , $DDNSHOST werden innerhalb der URL mit %USER% , %PASS% , %HOST% angegeben!
    #
    URL["1"]="http://%l*a-**%:%s*****%@members.dyndns.org/nic/update?hostname=%cag**.dyndns.**%"
    #URL["2"]="http://dynupdate.no-ip.com/dns?username=%USER%&password=%PASS%&hostname=%HOST%"
    #URL["3"]="http://%USER%:%PASS%@members.dyndns.org/nic/update?hostname=%HOST%"
    #
    # BEISPIEL URL's
    #
    # DynDNS.org: "http://%USER%:%PASS%@members.dyndns.org/nic/update?hostname=%HOST%"
    # No-IP.com: "http://dynupdate.no-ip.com/dns?username=%USER%&password=%PASS%&hostname=%HOST%"
    # DYNServ.ca: "http://dynserv.ca/dyn/dynengine.cgi?name=%USER%&pass=%PASS%&func=set&domain=%HOST%"
    # IPActive.de: "http://logon.ipactive.de/cgi-bin/logon_off.pl?V=2.1&B=%USER%&P=%PASS%&IP=%HOST%&F=1"

    EVERY="60" # Zeit in Sekunden zwischen den Abfragen
    LOG="1" # Erstelle Logfile hiervon? [0=nein; 1=ja]

    # Verschicke EMail bei Problemen? [no=nein; yes=ja]
    # ( benoetigt: apt-get install sendEmail )
    EMAIL="yes"
    EMAILFROM="absenderadresse"
    EMAILTO='Empfängeradresse'
    EMAILSERVER='selsterklärend'
    EMAILUSER='Emailuser'
    EMAILPASS='Emailpass'


    ### CONFIG - END

    # -------------------------------------------------------------- #
    # >>> >> > DO NOT MESS WiTH ANYTHiNG BELOW THiS LiNE! < << <<< #
    # -------------------------------------------------------------- #


    # required system cmd's:
    # basename cat cut date echo expr killall ping rm sed sleep wget


    Osrcn="DDNSupdater.sh"
    srcn=$(basename $0)
    srcv="1.093"
    srccfg="config.$Osrcn"
    LOGFILE="/var/log/log.$Osrcn"
    CHKFILE="/tmp/.$Osrcn"
    PiDFILE="/tmp/.pid.$Osrcn"
    OnlinePing="google.de"
    ProfileSwitchSleep=2
    IPCcfgdir="/var/emu/conf"
    IPCfunctions="/var/emu/script/functions.sh"
    IPCddnssrc="/var/emu/script/$Osrcn"
    IPCddnslinkname="ddns"


    C="\033[";Ca="${C}0;33m";Cb="${C}1;33m";Cn="${C}0m";ROT="${C}1;31m";GRUEN="${C}1;32m";BOLD="${C}1;37m"
    Bo="${C}1m";Bc="${C}21m"; Ro="${C}3m";Rc="${C}23m"; Uo="${C}4m";Uc="${C}24m"
    Blo="${C}5m";Blc="${C}25m"; Io="${C}7m";Ic="${C}27m"


    if [ -f "$IPCfunctions" -a ! -f "$IPCddnssrc" ]; then
    echo ".. $srcn v$srcv .."
    echo "Erstbenutzung dieses Scripts? IPC erkannt... kopiere Script $srcn..."
    cp -f $0 $IPCddnssrc ; chmod 755 $IPCddnssrc >/dev/null 2>&1
    # if [ -f "/sbin/$IPCddnslinkname" ]; then
    # LinksCount=$(ls /sbin/${IPCddnslinkname}* | wc -l)
    # ((++LinksCount))
    # IPCddnslinkname="ddns$LinksCount"
    # fi
    echo -e "\nErstelle Symlink fuer ${Ro}$IPCddnslinkname${Rc} auf $IPCddnssrc"
    ln -sf $IPCddnssrc /sbin/$IPCddnslinkname
    echo -e "Nun muss noch der ${Ro}CONFIG${Rc} Abschnitt in dem Script $srcn angepasst werden!"
    sleep 3
    nano -R $IPCddnssrc
    #[ ! -f "$IPCcfgdir/$srccfg" ] && proc_Create_Script_CFG "$IPCcfgdir/$srccfg"
    echo -e "Fertig! Das Script kann kuenftig ueber den Befehl ${Ro}$IPCddnslinkname${Rc} ausgefuehrt werden"
    $IPCddnssrc help
    exit
    fi

    # load script config?
    [ -d "$IPCcfgdir" -a -f "$IPCcfgdir/$srccfg" ] && source $IPCcfgdir/$srccfg
    [ ! -d "$IPCcfgdir" -a -f "$srccfg" ] && source $srccfg


    # Verschicke EMail..
    function send_EMail() {
    MESSAGE=$1
    SUBJECT="$Osrcn Problem"
    if [ $EMAIL = "yes" ]; then
    echo "Verschicke EMail.."
    sendEmail -f $EMAILFROM -t $EMAILTO -u "$SUBJECT" -m "$MESSAGE" -s $EMAILSERVER -xu "$EMAILUSER" -xp "$EMAILPASS"
    fi
    }

    # Simple URL encoding
    function proc_url_encode() {
    out=${1//%/%25}; out=${out//\{/%7B}; out=${out//\}/%7D}; out=${out//|/%7C};
    out=${out//\\/%5C}; out=${out//^/%5E}; out=${out//~/%7E}; out=${out//[/%5B};
    out=${out//]/%5D}; out=${out//\`/%60}; out=${out//#/%23}; out=${out//>/%3E};
    out=${out//\$/%24}; out=${out//&/%26}; out=${out//+/%2B}; out=${out//,/%2C};
    out=${out//\//%2F}; out=${out//:/%3A}; out=${out//;/%3B}; out=${out//=/%3B};
    out=${out//\?/%3F}; out=${out// /%20}; out=${out//</%3C};
    echo $out
    }

    function LOG_msg() {
    message=$1
    if [ $LOG = "1" ]; then
    _DT=$(date +"%d.%m.%Y %H:%M:%S")
    echo "$_DT: $message" >> $LOGFILE
    fi
    }


    # fuer jedes "profil" (DDNSHOST) die jeweilige "action" abarbeiten (function-names)
    function check_profils() {
    ACTION=$1
    for index in ${!DDNSHOST
    [*]}; do
    eRROR=""
    # get current ddnshost-ip and internet-ip...
    get_IPs "$index"
    if [ -z "$eRROR" ]&&[ "$DYNIP" != "$CURRENTIP" ]; then
    # for each $ACTION...
    if [ ! -z "$ACTION" ]; then
    for actionfunction in $ACTION; do
    $actionfunction "$index"
    done
    fi
    fi
    [ ! -z "$eRROR" ] && echo "$eRROR" && send_EMail "eRROR"
    sleep $ProfileSwitchSleep
    done
    }

    function abuse_check() {
    index=$1
    answer=$(cat ${CHKFILE}_answer)
    MSG=""
    if [ "$answer" = "abuse" ]; then
    MSG="WARNING!! You abused the DNS update function! You must Unlock your hostname: ${DDNSHOST[$index]} !"
    fi
    [ "$answer" = "nohost" ] && MSG="ERROR: Unknown host ${DDNSHOST[$index]} !"
    [ "$answer" = "badauth" ] && MSG="ERROR: Bad auth! Check USERNAME and PASSWORD setting for ${DDNSHOST[$index]} !"
    if [ ! -z "$MSG" ]; then
    echo "$MSG"
    LOG_msg "$MSG"
    send_EMail "$MSG"
    fi
    }

    function get_IPs() {
    index=$1
    # get current dyndns host ip
    DYNIP=$(ping -c 1 "${DDNSHOST[$index]}" | sed -n 1p | sed -e 's/(//g' -e 's/)//g' | cut -d " " -f3 | sed -e 's/\://g')
    [ -z "$DYNIP" ]&& eRROR="Cant get IP of DDNSHOST: ${DDNSHOST[$index]}"
    # get current internet ip
    CURRENTIP=$(wget -q -O -

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    )
    if [ -z "$CURRENTIP" -o "$CURRENTIP" = " *" -o "$CURRENTIP" = "*1.0 *" ]; then
    CURRENTIP=$(wget -q -O -

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    )
    fi
    if [ -z "$CURRENTIP" -o "$CURRENTIP" = " *" -o "$CURRENTIP" = "*1.0 *" ]; then
    CURRENTIP=$(wget -q -O - Current IP Check | grep IP | expr \`awk '{print $6}'\` : '\([0-9.]*\)')
    fi
    if [ -z "$CURRENTIP" -o "$CURRENTIP" = " *" -o "$CURRENTIP" = "*1.0 *" ]; then
    CURRENTIP=$(wget -q -O - Current IP Check | grep "IP Address" | cut -d ' ' -f 6 | cut -d '<' -f 1)
    fi
    if [ -z "$CURRENTIP" -o "$CURRENTIP" = " *" -o "$CURRENTIP" = "*1.0 *" ]; then
    CURRENTIP=$(wget -q -O - Current IP Check | grep "IP Address" | cut -d ' ' -f4 | sed -e 's/\$//g' -e 's/\\r//g')
    fi
    [ -z "$CURRENTIP" ] && eRROR="Cant catch current internet ip"
    #CURRENTIP=$(echo $CURRENTIP | sed -e 's/\://g' -e 's/\$//g' -e 's/\\r//g')
    }

    function do_update() {
    index=$1
    # Replace %USER% , %PASS% , %HOST%
    URL=${URL[$index]}
    URL=${URL//%USER%/`proc_url_encode "${USERNAME[$index]}"`}
    URL=${URL//%PASS%/`proc_url_encode "${PASSWORD[$index]}"`}
    URL=${URL//%HOST%/${DDNSHOST[$index]}}
    wget -q -O ${CHKFILE}_answer $URL
    answer=$(cat ${CHKFILE}_answer)
    echo "DDNSHOST: ${DDNSHOST[$index]} - DYNIP: $DYNIP - CURRENTIP: $CURRENTIP - answer: $answer"
    LOG_msg "DDNSHOST: ${DDNSHOST[$index]} - DYNIP: $DYNIP - CURRENTIP: $CURRENTIP - answer: $answer"
    send_EMail "DDNSHOST: ${DDNSHOST[$index]} - DYNIP: $DYNIP - CURRENTIP: $CURRENTIP - answer: $answer"
    }

    function update_interval() {
    PiDs="$$ $!"
    echo $PiDs > $PiDFILE
    echo "Running Script in Background with PID(s): $PiDs"
    while true; do
    [ ! -f "$PiDFILE" ] && echo "$srcn: Interval stopped" && break
    # check if online...
    ONLINE=0
    [ "$(ping -c1 "$OnlinePing" | grep -c "seq")" -eq 1 ] && ONLINE=1
    # if online, check each DDNSHOST (array)...
    [ "$ONLINE" ] && check_profils "do_update abuse_check"
    sleep $EVERY
    done
    }

    function show_status() {
    for index in ${!DDNSHOST
    [*]}; do
    get_IPs "$index"
    if [ "$DYNIP" != "$CURRENTIP" ]; then
    echo "The IP of ${DDNSHOST[$index]} ($DYNIP) does NOT match your current Internet-IP: $CURRENTIP"
    echo "You should update immediately! (with: $0 now)"
    else
    echo "Your host ${DDNSHOST[$index]} with IP $DYNIP is still up to date: $CURRENTIP"
    send_EMail "DDNSHOST: ${DDNSHOST[$index]} - DYNIP: $DYNIP - CURRENTIP: $CURRENTIP"
    if [ -f "${CHKFILE}_answer" ]; then
    answer=$(cat ${CHKFILE}_answer)
    echo "Last Answer was: $answer"
    fi
    fi
    echo " "
    done
    [ -f "$PiDFILE" ] && echo "Script seems to run in background with PID(s): $(cat $PiDFILE)"
    }

    function kill_script() {
    counter="5"
    [ -f "$PiDFILE" ] && PID=$(cat $PiDFILE)
    [ -z "$PID" ] && PID="$$ $!"
    echo "PID(s): $PID"
    echo -n "Stopping Script"
    if [ ! -z "$PID" ]; then
    if ( kill -TERM $PID 2> /dev/null ); then
    c=1
    while [ "$c" -le 300 ]; do
    if ( kill -0 $PID 2> /dev/null ); then
    echo -n "."
    sleep 1
    else
    break
    fi
    c=$((++c))
    done
    fi
    if ( kill -0 $PID 2> /dev/null ); then
    echo -e "\rScript is not shutting down cleanly - killing"
    kill -KILL $PID
    else
    echo " done"
    fi
    #for P in $PID; do
    # kill -9 $P >/dev/null 2>&1
    # echo "Killed PID $P"
    #done
    else
    echo "Nothing to $1!"
    fi
    rm -f $PiDFILE
    }

    function echo_PIDs() {
    [ -f "$PiDFILE" ] && PID=$(cat $PiDFILE)
    [ -z "$PID" ] && PID="$$ $!"
    if [ -z "$PID" ]; then
    echo "Seems script isnt running in background"
    else
    echo "Scripts currently ProcessIDs: $PID"
    fi
    }


    if [ -f "$IPCfunctions" -a -f "$IPCddnssrc" ]; then
    linkname=$IPCddnslinkname
    else
    linkname=$0
    fi

    case "$1" in
    "")
    update_interval
    ;;
    [aA][uU][tT][oO]|[sS][tT][aA][rR][tT])
    bash $0 &
    ;;
    [kK][iI][lL][lL]|[sS][tT][oO][pP])
    kill_script $1
    ;;
    [nN][oO][wW])
    check_profils "do_update abuse_check"
    ;;
    [pP][iI][dD]*)
    echo_PIDs
    ;;
    [sS][tT][aA][tT][uU][sS])
    show_status
    ;;
    [hH][eE][lL][pP]|[hH][iI][lL][fF][eE]|?)
    echo "Usage: $linkname [now|auto|kill|status|pid|help]"
    echo "$linkname now -> Force to update $DDNSHOST immediately (Sofortiges updaten von $DDNSHOST)"
    echo "$linkname auto -> Checks/updates $DDNSHOST every $EVERY seconds (Ueberprueft/updated $DDNSHOST alle $EVERY Sekunden)"
    echo "$linkname kill -> Kills running script (Script wird beendet)"
    echo "$linkname status -> Zeigt den aktuellen Status, ob ein update noetig ist"
    echo "$linkname pid -> Zeigt die verwendeten ProzessIDs dieses Scripts"
    echo "$linkname help -> This help... (Zeigt diese Hilfe...)"
    ;;
    *)
    echo "Usage: $linkname [now|auto|kill|status|pid|help]"
    ;;
    esac

    Die habe ich in /var/emu/script/ gespeichert und die Rechte auf 755 gesetzt

    In crontab habe ich das eingefügt:
    #DYNDNS Updater
    #31 4 * * * root /var/emu/script/DDNSupdater.sh #Dyndns - Updatet Dyndns (Taeglich um 04:31)

    Dann habe ich irgendwo gelesen das es ddclient gibt der die Dyndns auch updatet und habe dan den Befehl:

    apt-get install ddclient

    ausgeführt.

    Danach wurde ddclient installiert und ich habe meine Daten in die ddclient.config eingetragen die so aussehen:

    # Configuration file for ddclient generated by debconf
    #
    # /etc/ddclient.conf

    protocol=dyndns2
    use=web, web=checkip.dyndns.com, web-skip='IP Address'
    server=cag**.dyndns.**
    login=l*a-**
    password=s*****

    und das habe ich in crontab drin:
    #DynDNS Static Update -> benoetigt [apt-get install ddclient]
    31 4 * * * root /usr/sbin/ddclient -force > /var/log/ipc/dyndns_update.log #Static DynDNS Update (Taeglich um 04:31)


    Leider weiß ich aber nicht ob diese Dyndns Updater auch wirklich funktionieren und ob überhaupt noch etwas fehlt

    Es wäre echt nett wenn mir einer von euch helfen könnte und sagen könnte ob das so alles rennen sollte.

    Welche von beiden ist eigentlich das bessere?

    danke im voraus

    gruß

    amassidda
     
    #1
  2. phantom

    Nervigen User Advertisement

  3. meister85
    Online

    meister85 VIP

    Registriert:
    21. September 2009
    Beiträge:
    7.927
    Zustimmungen:
    5.229
    Punkte für Erfolge:
    113
    Funktionieren tun aufjedenfall beide. Es bleibt eigentlich dir überlassen, welches du nutzen möchtest. Es gibt kein besseres oder schlechteres :)

    Ich persönlich nutze den ddclient und bin mit den auch sehr zufrieden. Bis jetzt (nutze den seit ca. 1 Jahr) habe ich nie Probleme gehabt.

    Das Script DDNSupdater.sh von feissmaik hatte ich auch testweise drauf und macht genau so wenig Probleme. Rennt also auch einwandfrei...

    ps. Beim ddclient brauchst du kein Job in der Crontab anlegen, da der Deamon eh alle 5 Minuten (glaube ich zumindest) prüft ob sich deine IP geändert hat! Ist meiner Meinung nach überflüssig.
     
    #2
    amassidda gefällt das.
  4. ysimmerath
    Offline

    ysimmerath Meister

    Registriert:
    5. Dezember 2007
    Beiträge:
    948
    Zustimmungen:
    432
    Punkte für Erfolge:
    63
    Ort:
    31°37'40.96"N
    Die aktuelle Version 2.23 läuft Einwandfrei

    Gruß
     
    #3
    amassidda gefällt das.
  5. aragorn
    Offline

    aragorn Guest

    da passt was nicht!
    in die URL sollst du keine daten eintragen! und wenn du schon die platzhalter raus löschst musst du die % auch raus löschen aber so ist das gar nicht gedacht!

    # $USERNAME , $PASSWORD , $DDNSHOST werden innerhalb der URL mit %USER% , %PASS% , %HOST% angegeben!

    und der crontab eintrag passt auch nicht da sich das script beim starten in den hintergrund legt und alle $EVERY sekunden überprüft ob sich die ip verändert hat. wenn du eine static ip hast musst du den parameter "now" einfügen aber sonsten ist das so falsch. guck am besten in dem forum wo du das her hast!
     
    Zuletzt von einem Moderator bearbeitet: 7. Mai 2012
    #4
  6. amassidda
    Offline

    amassidda Meister

    Registriert:
    30. Mai 2010
    Beiträge:
    786
    Zustimmungen:
    336
    Punkte für Erfolge:
    63
    Beruf:
    Informatiker
    Ok

    Erstmal vielen Danke für eure Hilfe

    Habe mich entschieden den ddclient zu benutzen da dort schon alles fertig ist und auch nicht umgeändert werden muss.

    Hoffe das bei mir der ddclient genauso gut rennt wie bei meister85.

    Habe da aber noch ne frage

    Was ist wenn ich den eintrag in der Crontab lasse? :

    #DynDNS Static Update -> benoetigt [apt-get install ddclient]
    31 4 * * * root /usr/sbin/ddclient -force > /var/log/ipc/dyndns_update.log #Static DynDNS Update (Taeglich um 04:31)

    danke im voraus

    gruß

    amassidda
     
    #5
  7. ysimmerath
    Offline

    ysimmerath Meister

    Registriert:
    5. Dezember 2007
    Beiträge:
    948
    Zustimmungen:
    432
    Punkte für Erfolge:
    63
    Ort:
    31°37'40.96"N
    nur falls du
    hast, ansonsten brauchst du nicht.

    und sollte man auf keinen Fall unter 1min (60sec) stellen, ansonsten wird die Host evtl. von DynDNS gesperrt wegen abuse.
    am besten

    daemon_interval="300"
     
    #6
    amassidda gefällt das.
  8. aragorn
    Offline

    aragorn Guest

    ddclient muss man genauso wie DDNSupdater zunächst konfigurieren aber wenn man egal welches falsch konfiguriert geht es eben nicht. wie meister85 auch schon geschrieben hat brauchst du ddclient auch nicht in die crontab eintragen es sei denn du hast eine static ip aber dazu schreibst du hier ja leider nichts
    wenn du das so lässt könnte es passieren das der normale ddclient deamon prozess ein update macht und kurz darauf noch mal der -force eintrag würde in dem fall deine dyndns wegen abuse gesperrt. ist vielleicht unwarscheinlich aber nicht unmöglich
     
    #7
  9. amassidda
    Offline

    amassidda Meister

    Registriert:
    30. Mai 2010
    Beiträge:
    786
    Zustimmungen:
    336
    Punkte für Erfolge:
    63
    Beruf:
    Informatiker
    Also irgendetwas verstehe ich nicht?

    Habe meine einstellungen doch in die ddclient.config eingetragen und die sehen so aus:

    # Configuration file for ddclient generated by debconf
    #
    # /etc/ddclient.conf

    protocol=dyndns2
    use=web, web=checkip.dyndns.com, web-skip='IP Address'
    server=cag**.dyndns.**
    login=l*a-**
    password=s*****

    Den eintrag habe ich aus der Crontab raus oder bessergesagt deaktiviert mit einer # und der sieht jetzt so aus:

    #DynDNS Static Update -> benoetigt [apt-get install ddclient]
    #31 4 * * * root /usr/sbin/ddclient -force > /var/log/ipc/dyndns_update.log #Static DynDNS Update (Taeglich um 04:31)

    Habe ich da noch was falsch aragorn oder gibts da noch was zum einstellen?

    Die dyndns_update.log datei ist leer unter /var/log/ipc/ ist das normal?

    danke im voraus

    gruß

    amassidda
     
    #8
  10. aragorn
    Offline

    aragorn Guest

    füg oben in ddclient.conf mal "daemon=300" ein und restarte den daemon "/etc/init.d/ddclient restart"
    alternativ kannst du auch prüfen ob der prozess bereits läuft mit "ps aux|grep -v grep|grep ddclient"
    taucht er da nicht auf läuft der prozess nicht und muss gestartet werden. weitere informationen findest du auch in der manuals page "man ddclient" oder "ddclient -help|less" (leertaste drücken zum weiter blättern. q zum beenden)

    bei -force kommt eine direkte ausgabe. den befehl kannst du auch selber in der konsole eingeben.
    dyndns_update.log wird nur beschrieben wenn die ausgabe dort hin umgeleitet wird. also bei der crontab zeile wird die ausgabe durch das ">" umgeleitet wobei das ein malige ">" die datei jedesmal neu erzeugt also nur die letzte ausgabe drin stehen würde. zum immer wieder einfügen (append) müsste es ">>" sein.
    ansonsten schreib er in /var/log/daemon.log was du über "grep ddclient /var/log/daemon.log" nach gucken kannst
    was die einzelnen parameter bedeuten kannst du auch auf

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    nachlesen
     
    #9
  11. ysimmerath
    Offline

    ysimmerath Meister

    Registriert:
    5. Dezember 2007
    Beiträge:
    948
    Zustimmungen:
    432
    Punkte für Erfolge:
    63
    Ort:
    31°37'40.96"N
    guckst mal bitte auch hier /var/cache/ddclient ist die ddclient.cache zu finden. dann siehst du ob upgedatet oder nicht

    siehst so aus

    Code:
    ## ddclient-3.8.0
    ## last updated at Tue May  8 05:18:49 2012 (1336447129)
    atime=0,backupmx=0,custom=0,host=*****.no-ip.org,ip=111.11.111.111,mtime=1336446827,mx=,static=0,status=good,warned-min-error-interval=0,warned-min-interval=0,wildcard=0,wtime=30 ****.no-ip.org
    
    
    Gruß
     
    #10
  12. amassidda
    Offline

    amassidda Meister

    Registriert:
    30. Mai 2010
    Beiträge:
    786
    Zustimmungen:
    336
    Punkte für Erfolge:
    63
    Beruf:
    Informatiker
    So wie es aussieht scheint der ddclient zu laufen weil wenn ich das hier "ps aux|grep -v grep|grep ddclient" wird mir das:
    "root 13696 0.0 0.3 7528 3704 ? S 14:46 0:00 ddclient - sleeping for 300 seconds
    root 13957 0.0 0.3 7528 3680 ? S 14:47 0:00 ddclient - sleeping for 80 seconds
    root 13980 0.0 0.3 7528 3680 ? S 14:48 0:00 ddclient - sleeping for 80 seconds"

    angezeigt

    Aber es Updatet meine Dyndns nicht!

    Was habe ich falsch gemacht?

    Habe mit absicht bei Dyndns meine Ip geändert um zu schauen ob ddclient sie wieder richtig macht aber pustekuchen.

    Woran kann es jetzt liegen?

    Hier nochmal meine ddclient.config:

    # Configuration file for ddclient generated by debconf
    #
    # /etc/ddclient.conf

    protocol=dyndns2
    use=web, web=checkip.dyndns.com, web-skip='IP Address'
    server=dyndns.dyndns.org
    login='user'
    password='password'
    daemon=300

    Und muss das hier ' mit bei Password und User oder nicht?

    danke im voraus

    gruß

    amassidda
     
    #11
  13. ysimmerath
    Offline

    ysimmerath Meister

    Registriert:
    5. Dezember 2007
    Beiträge:
    948
    Zustimmungen:
    432
    Punkte für Erfolge:
    63
    Ort:
    31°37'40.96"N
    bei mir ist
    ohne '

    und dsa gehört nicht da

    sonder hier /etc/init.d/ddclient

    Code:
    # Evaluate the config for the Debian scripts
    run_daemon=false
    daemon_interval=300
    
    
     
    #12
    amassidda gefällt das.
  14. aragorn
    Offline

    aragorn Guest

    das der prozess 3x mit unterschiedlichen sleeping läuft ist aber nicht gut. beende die prozesse mal alle "killall -9 ddclient" und starte den dienst neu. es dürfte nur einer laufen sonst stören die sich gegenseitig beziehungsweise führen zu einem abuse

    in deiner ddclient.conf fehlt aber auch die angabe der dyndns host die aktualisiert werden soll. guck dazu bitte bei "ddclient -help|less" nach wie die aus zu sehen hat
    (unter daemon=300 muss die host eingefügt werden. "server=" ist etwas anderes das lässt du bitte auf members.dyndns.org stehen!)

    edit: nein ysimmerath das sind 2 verschiedene dinge. daemon=300 ist ein parameter für ddclient welches du auch in der kommando zeile angeben kannst (in der config stehen sie ohne -). bitte auf den link achten den ich zuletzt angegeben hatte. daemon_interval=300 gilt für das init script wenn du danach suchst siehst du wofür das in dem init script verwendet wird: OPTIONS="-daemon $daemon_interval -syslog -pid $PIDFILE"
     
    Zuletzt von einem Moderator bearbeitet: 8. Mai 2012
    #13
  15. amassidda
    Offline

    amassidda Meister

    Registriert:
    30. Mai 2010
    Beiträge:
    786
    Zustimmungen:
    336
    Punkte für Erfolge:
    63
    Beruf:
    Informatiker
    Danke Leute ich glaube es läuft jetzt

    Habe die ddclient.config jetzt so umgeändert:

    # Configuration file for ddclient generated by debconf
    #
    # /etc/ddclient.conf

    protocol=dyndns2
    use=web, web=checkip.dyndns.com, web-skip='IP Address'
    server=members.dyndns.org
    login=user
    password=password
    daemon=300
    dyndns.dyndns.org

    Und jetzt ist auch unter var/cache/ddclient/ddclient.cache dieser Log da:
    ## ddclient-3.8.0
    ## last updated at Tue May 8 15:32:38 2012 (1336483958)
    atime=0,backupmx=0,custom=0,host=dyndns.dyndns.org,ip=**.114.**.95,mtime=1336483657,mx=,static=0,status=good,warned-min-error-interval=0,warned-min

    Und ich glaube so sollte es gehen

    Was meint ihr?

    danke im voraus

    gruß

    amassidda

    Update

    Habe den Router neu gestartet und tada der ddclient hat meine IP bei dyndns geändert

    funkt also doch

    danke für eure hilfe

    gruß

    amassidda
     
    Zuletzt von einem Moderator bearbeitet: 8. Mai 2012
    #14

Diese Seite empfehlen