ez-ipupdate

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

ez-ipupdate

Beitrag von BeS » 30.03.2003 14:16:43

Hallo,
ich habe mal eine Frage zu ez-ipupdate. Es wird bei mir als daemon mit dem standard init-script gestartet.
Ich werde aus dem script aber nicht so richtig schlau. Wie arbeitet ez-ipupdate? Wird die ip in einem bestimmten Zeitintervall updated, oder wird in einem bestimmten Intervall geprüft ob sich die IP geändert hat und nur dann updatet?

Hier das script:

Code: Alles auswählen

#! /bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/ez-ipupdate
NAME=ez-ipupdate
DESC="Dynamic DNS client"

test -f $DAEMON || exit 0

set -e

case "$1" in
  start)
        echo -n "Starting $DESC:"
        conffiles=$(ls /etc/ez-ipupdate/)
        if [ x"$conffiles" = x ]
        then
                echo " no config file in /etc/ez-ipupdate."
        else
                echo -n " $NAME"
                for config in $(echo $conffiles)
                do
                        if start-stop-daemon --start --quiet \
                                --pidfile /var/run/$NAME.$config.pid \
                                --exec $DAEMON \
                                        -- -d -c /etc/ez-ipupdate/$config \
                                        -F /var/run/$NAME.$config.pid
                        then
                                echo -n " $config"
                        fi
                done
                echo "."
        fi
        ;;
  stop)
        echo -n "Stopping $DESC:"
        pidfiles=$(find /var/run/ -name $NAME.'*'.pid | \
                        sed -e 's,/var/run/'$NAME'\.\(.*\)\.pid,\1,')
        if [ x"$pidfiles" = x ]
        then
                echo " no $NAME running."
        else
                echo -n " $NAME"
                for file in $(echo $pidfiles)
                do
                        if start-stop-daemon --stop --signal 3 --quiet \
                                --pidfile /var/run/$NAME.$file.pid
                        then
                                echo -n " $file"
                        fi
                done
                echo "."
        fi
        ;;
  reload)
        echo "Reloading $DESC configuration files."
        for file in `ls /var/run/$NAME.*.pid`
        do
                start-stop-daemon --stop --signal 1 --quiet \
                        --pidfile /var/run/$file
        done
        echo "."
        ;;
  restart|force-reload)
        $0 stop
        sleep 1
        $0 start
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
        exit 1
        ;;
esac

exit 0
die config sieht so aus:

Code: Alles auswählen

#!/usr/sbin/ez-ipupdate -c
service-type=dyndns
user=user:passwd
host=dyndns-host
interface=ppp0
wildcard

Danke!
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Benutzeravatar
feltel
Webmaster
Beiträge: 10476
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 30.03.2003 14:54:18

Hatte ez-ipupdate auch ne Weile installiert und bin damit nicht so richtig glücklich geworden. Hab mir deshalb updatedd installiert (Quelle: http://philippb.tk). Das ist ein kleines Programm, was sich recht einfach in /etc/ppp/ip-up.d integrieren lässt.

Ich hab dazu in /etc/ppp/ip-up.d/update-dyndns ff. stehen:

Code: Alles auswählen

#!/bin/sh

if ! [ -f /etc/update-dyndns.conf ]; then
        exit 0
fi

source /etc/update-dyndns.conf

FLAGS="--wildcard on --hostnames $DDNSHOSTS --system $SERVICE --user $USERNAME:$PASSWD --with-syslog"
UPDATEDD="/usr/local/sbin/updatedd"
$UPDATEDD $FLAGS
und in /etc/update-dyndns.conf:

Code: Alles auswählen

SERVICE="dyndns"
DDNSHOSTS="XXXXXX.homelinux.org"
USERNAME="XXXXXX"
PASSWD="XXXXXX"

hans9
Beiträge: 1
Registriert: 21.09.2007 10:06:23

Beitrag von hans9 » 21.09.2007 10:12:40

Hallo

Ich habe auch noch ipupdate bei mir im Einsatz und ich habe folgedes Script.

----------------------------------
SERVICE=myservice
SERVER=myserver
HOST=myhost
USER=myuser
PASS=mypass

# Hier startet Script ...

startService() {
delay=120
while [ "true" ]; do
/var/bin/ez-ipupdate -q -s $SERVER -S $SERVICE -h $HOST -u $USER:$PASS -i eth0
# echo "Sleeping for $delay seconds"
sleep $delay
done
}

stopService() {
killall -9 ipupdate.sh
}

case $1 in
start)
# echo "Starting DDNS service"
startService &
;;
stop)
# echo "Stopping DDNS service"
stopService
;;
*)
echo "Syntax: ipupdate.sh <start|stop>"
exit 1
;;
esac
-----------

Mit diesem Script wird mein DynDNS -Account aktualisiert. Nun habe ich jedoch einen weiteren Account auf meiner Kiste, kann ich nun einfach eine weitere Zeile für meinen zweiten Account einbauen?

Beispiel
/var/bin/ez-ipupdate -q -s $SERVER2 -S $SERVICE2 -h $HOST2 -u $USER2:$PASS2 -i eth0

Oder läuft ez-ipupdate wirklich nur mit einem Account?

Vielen Dank
Gruss Hans

Antworten