• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

ddclient als Daemon

bernd

Member
Hallo

Habe mir ddclient installiert um meinen Rechner bei dyndns.org anzumelden.
Scheint auch zu funktionieren wenn ich in der Konsole ddclient aufrufe,

Nur wie mache ich es das er automatisch als Daemon beim Start startet ???

Danke für eine Antwort.

Bernd
 
OP
B

bernd

Member
Danke für die Antwort.
So gehts leider nicht da das Programm schon VOR der Netzwerkinitialisierung
gestartet wird und es somit zu einer Fehlermeldung kommt.
Es ist ja ne Beschreibung dabei aber damit komme ich auch nicht klar.

Bernd
 

oc2pus

Ultimate Guru
1.) dieses script nach /etc/init.d/ddclient kopieren

Code:
#!/bin/sh
#
# init.d/ddclient
#
### BEGIN INIT INFO
# Provides:       ddclient
# Required-Start: $named $network
# Required-Stop:
# Default-Start:  3 5
# Default-Stop:
# Description:    ddclient provides support for updating dynamic DNS services.
### END INIT INFO

. /etc/rc.status
rc_reset

[ -f /etc/ddclient.conf ] || exit 0

PATH=/usr/sbin:${PATH}
COLUMNS=9999
export PATH COLUMNS
program=ddclient

case "$1" in
        start)
                echo -n "Starting ddclient: "
#               ddclient -daemon 300
                ddclient -v
                rc_status -v
                ;;
        stop)
                echo -n "Shutting down ddclient: "
                kill `ps -aef | awk '/[ \/]perl.*ddclient/ { print $2}'`
                rc_status -v
                ;;
        restart)
                $0 stop
                $0 start
                rc_status
                ;;
        status)
                pids=`ps -aef | awk '/[ \/]perl.*ddclient/ { print $2}'`
                if test "$pids"
                then
                        for p in $pids
                        do
                                echo "$program (pid $p) is running"
                        done
                else
                        echo "$program is stopped"
               fi
                rc_status -v1
                ;;
        *)
                echo "Usage: ddclient {start|stop|restart|status}"
                exit 1
esac

exit 0

2.)
cd /etc/init.d
insserv ddclient

3.)
cd /sbin
ln -s ../etc/init.d/ddclient rcddclient

jetzt wird der ddclient in runlevel 3 und 5 gestartet
oder mit rcddclient start
 

framp

Moderator
Teammitglied
bernd schrieb:
So gehts leider nicht da das Programm schon VOR der Netzwerkinitialisierung
gestartet wird und es somit zu einer Fehlermeldung kommt.
Welche Fehlermeldung? Bei mir tut's bestens. Soweit ich mich erinnere ist ddclient tolerant, d.h. solange keine NW Verbindung existiert wird weiter gepollt bis dann nach bestehender Verbindung die Registrierung vorgenommen wird.
 
OP
B

bernd

Member
Danke für die Antworten.

Habe alles installiert und konnte beim booten auch sehen das ddclient
seine Arbeit macht , aber heute morgen ist die neue IP nicht aktualisiert.

???

Beim Aufruf in boot.local kam die Fehlermeldung das IP nicht aktualisiert werden konnte........

Gibt es irgendwie ein Log das man kontrollieren kann ???

Bernd
 

oc2pus

Ultimate Guru
wenn du die Option -v beim ddclient Aufruf verwendest siehst du in der /var/log/messages die ddclient-Einträge.

wieso verwendest du boot.local?
der ddclient braucht nur in den runleveln 3 (Netz ohne X-Server) und 5 (Netz mit X-Server) aktiv zu sein.
Und genau das erreichst du mit meinem rc-Script von oben ;)
 
OP
B

bernd

Member
Danke oc2pus für die rasche Antwort.
Nein im Moment verwende ich keinen Eintrag in boot.local,Hinweis sollte nur eine Antwort auf den Vorschlag sein.

Ich verwende das Script und dadrin steht ja ddclient -v.......???
oder ?
aber einen Eintrag habe ich noch nie gesehen.
Es scheint so als würde es beim booten funktionieren,denn da sehe ich es ja,wenn sich aber später die IP ändert passiert nix.

Noch eine Idee ??? Danke.

Bernd
 

oc2pus

Ultimate Guru
in der /etc/ddclient.conf folgendes einstellen
daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
mail=root # mail all msgs to root
mail-failure=root # mail failed update msgs to root
...
use=if, if=ppp0 # für DSL

damit wird die ip alle 300 Sekunden überprüft, alle Meldungen nach /var/log/messages geschrieben, root erhält eine mail über alle Vorgänge.

Diese Einstellungen können später abgeschwächt werden ;)
 
OP
B

bernd

Member
Danke

werde es heute Abend so machen und mal einen IP Update erzwingen.

Melde mich dann nochmal.

Bernd
 

kkk

Member
ich versuche das hier auch gerade, aber bei mir kommt folgendes:

Code:
stever:/home/st3v3n # In -s ../etc/init.d/ddclient.sh rcddclient
bash: In: command not found
 
Oben