AW: dynDNS update script (kompatible zu allen embedded linux's also receiver, fitz et
@ Bernd,
habe die gleichen Probleme beim updaten der dyn auf meiner FB 7170
hast du schon was hinbekommen?? wenn ja, könntest du ein paar Zeilen schreiben, wie und was du gemacht hast.
Danke
AW: dynDNS update script (kompatible zu allen embedded linux's also receiver, fitz et
Erstmal danke für die Arbeit.
Ich würde das Script sehr gerne auf meiner Fritzbox mit Freetz nutzen. Leider habe ich in der BusyBox kein wget - gibt es eine Alternative zu wget? Gibt es eine Möglichkeit ftpget zu nehmen?
Ich würde nur extrem ungern das Image neu bauen, da es abgesehen von den gelegentlichen dyndns Fehlern nach Zwangstrennung absolut fehlerfrei läuft.
AW: dynDNS update script (kompatible zu allen embedded linux's also receiver, fitz et
Hallo,
ich habe das script auf Debian 6.0 installiert, manuell gestartet. Das funktioniert so auch. Kann mir bitte jemand den Befehl zum manuellen beenden des scripts nennen?
mit stop dynDNSupdater läuft der Prozess weiter
danke ebr
edit:
hat sich erledigt ,wer lesen kann ist klar im Vorteil , Befehl ist kill steht auf Seite 1
AW: dynDNS update script (kompatible zu allen embedded linux's also receiver, fitz et
Hallo.
Ich habe das Script auf meiner DBOX2 installiert.
Läuft auch zum Teil, aber eben nicht so, wie es soll. Es werden keine DynDNS Updates gemacht.
Installiert habe ich folgendes:
in /bin das script dyndnsupdater.sh:
USER="*******" # DynDNS Benutzername
PASS="********" # DynDNS Passwort
HOST="*********.dyndns-home.com" # DynDNS Hostname
EVERY="60" # Zeit in Sekunden zwischen den Abfragen
LOG="1" # Erstelle Logfile /tmp/log.dyndns? (wenn möglich aus lassen) [0=nein; 1=ja]
WILDCARD="0" # Sind Wildcards enabled, können auch Adressen wie "bla.host.ath.cx" angesprochen werden
###
# required system binary's:
# awk cat cut date echo expr killall pidof ping rm sed sleep wget
LOG_update() {
if [ $LOG = "1" ]; then
_DT=$(date +"%d.%m.%Y %H:%M:%S")
dyndns_answer=$(cat /tmp/dyndns_answer)
echo "$_DT: HOSTIP: $HOSTIP - CURRENTIP: $CURRENTIP - DynDNS answer: $dyndns_answer" >>$LOGFILE
fi
}
abuse_check() {
dyndns_answer=$(cat /tmp/dyndns_answer)
if [ "$dyndns_answer" = "abuse" ]; then
if [ -z "$1" -a $LOG = "1" ]; then
echo "WARNING!! You abused the DynDNS update function! You must Unlock your hostname: $HOST !" >>$LOGFILE
fi
echo "WARNING!! You abused the DynDNS update function! You must Unlock your hostname: $HOST !"
fi
}
get_IPs() {
HOSTIP=$(ping -c 1 "$HOST" | sed -n 1p | sed -e 's/(//g' -e 's/)//g' | awk '{ print $3 }')
wget -q --timeout=10 -O /tmp/dyndns_current_ip $CHECKIPURL
CURRENTIP=$(cat /tmp/dyndns_current_ip | cut -d ' ' -f 6 | cut -d '<' -f 1)
if [ -z "$CURRENTIP" -o "$CURRENTIP" = " *" -o "$CURRENTIP" = "*1.0 *" ]; then
if [ ! -z "$1" ]; then
echo "Hmm... $CHECKIPURL seems to be down?! Using: $CHECKIPURL2 insteed"
fi
if [ -z "$1" -a $LOG = "1" ]; then
echo "Hmm... $CHECKIPURL seems to be down?! Using: $CHECKIPURL2 insteed" >>$LOGFILE
fi
wget -q -O /tmp/dyndns_current_ip $CHECKIPURL2
CURRENTIP=$(cat /tmp/dyndns_current_ip | cut -d ' ' -f 6 | cut -d '<' -f 1)
fi
}
update_interval() {
echo $(pidof -x $0) >/tmp/.dyndns.pid
while true; do
get_IPs
if [ "$HOSTIP" != "$CURRENTIP" ]; then
do_update
abuse_check
LOG_update
fi
sleep $EVERY
done
}
kill_script() {
counter="5"
PID=$(cat /tmp/.dyndns.pid)
if [ -z "$PID" ]; then
PID=$(pidof -x $0)
fi
if [ ! -z "$PID" ]; then
PID="$PID `pidof -x sleep`"
echo "PID: $PID"
kill -9 $PID >/dev/null 2>&1
echo "Killed $PID"
else
echo "Nothing to $1!"
fi
sleep 5
if [ ! -z `pidof -x sleep` ]; then
while [ $counter -gt 0 ]; do
echo "...Retrying to kill script! (retrys: $counter , PID: $PID)"
kill -9 $PID >/dev/null 2>&1
PID=$(pidof -x $0)
PID="$PID `pidof -x sleep`"
counter=`expr $counter - 1`
done
fi
echo "Should be killed..."
rm -f /tmp/.dyndns.pid
}
echo_PIDs() {
PID=$(cat /tmp/.dyndns.pid)
if [ -z "$PID" ]; then
PID=$(pidof -x $0)
fi
if [ -z "$PID" ]; then
echo "Seems script isnt running in background"
else
PID="$PID `pidof -x sleep`"
echo "Scripts currently ProcessIDs: $PID"
fi
}
show_status() {
get_IPs
if [ "$HOSTIP" != "$CURRENTIP" ]; then
echo "The IP of $HOST ($HOSTIP) does NOT match your current Internet-IP: $CURRENTIP"
echo "Your should update immediately! (with: $0 now)"
else
dyndns_answer=$(cat /tmp/dyndns_answer)
echo "DynDNS answer: $dyndns_answer"
echo_PIDs
fi
}
case "$1" in
"")
update_interval
;;
auto)
$0 &
;;
stop|kill)
kill_script $1
;;
now)
get_IPs
do_update
abuse_check
echo "HOST: $HOST - HOSTIP: $HOSTIP - CURRENTIP: $CURRENTIP"
echo "DynDNS answer: $dyndns_answer"
;;
pid*)
echo_PIDs
;;
status)
show_status
;;
help|hilfe|?)
echo "Usage: $0 [now|auto|kill|help]"
echo "$0 now -> Force to update $HOST immediately (Sofortiges updaten von $HOST)"
echo "$0 auto -> Checks/updates $HOST every $EVERY seconds (Überprüft/updated $HOST alle $EVERY Sekunden)"
echo "$0 kill -> Kills running script (Script wird beendet)"
echo "$0 help -> This help... (Zeigt diese Hilfe an...)"
;;
*)
echo "Usage: $0 [now|auto|kill|help]"
;;
esac
Irgendwie komme ich nicht weiter. Habe schon versucht, das --timeout einfach wegzulassen und habe eine Datei namens dyndns_answer angelegt, dann verschwinden zwar diese beiden Fehler, aber funktionieren tut das Script trotzdem nicht.
Hat noch jemand eine Idee?
Und was soll mir das jetzt sagen?
Ich habe eine DBOX2 mit einem Neutrino Betriebssystem. Basiert auf Linux.
Wie gesagt, ein paar Dinge funktionieren ja auch, nur eben das Update nicht.
Das Script arbeit ja gerade damit das es die IP immer erst überprüft ob die sich geändert hat.
Sofern sich deine IP geändert hat schickt es erst die neue IP an Dyndns.
Solange wird das alles nur local bearbeite und nicht dauerhaft deine aktuelle IP hochgeladen.
AW: dynDNS update script (kompatible zu allen embedded linux's also receiver, fitz et
hallo,habe in meiner fritzbox tuxdns aber es steht zwar running also ist angeschalten aber das update funktioniert irgendwie nicht! hir mal meine cfg
#####################
#
# tuxdns.conf for tuxdns version $Revision: 1.95 $
#
# internal commands:
# cmd_kill name-of-threadname
# cmd_run name-of-batch / name-of-programm / shell-commands
#
#####################
#
# record variables:
#
# service = other / dyndns[default] / dtdns / no-ip / freedns / tzo / 2mydns / selfhost / nerdcamp
# user = username
# pass = password
# host = hostname
# mx = mailexchanger
# var_pre_update = anything-to-do-before-update-your-account
# var_post_update = anything-to-do-after-update-your-account
#
#####################
#
# global variables:
#
# daemon = 1 (daemon-mode)
# debug = 0 (debug-mode)
# pause = time-between-IP-check-in-seconds
# verbose = 1 (TV-Output-after-update-account - always the first record, but you can define your own update command)
# cronjob = / (do nothing else) or your own batch / shellscript / command to execute every "pause"-seconds e.g. /var/script/anything.sh
# ping_host = checkip.dyndns.org or your own host with special ip.php included in this suite
# ping_port = 80 or any other port, where to get access to your web-services
# pinp_ip_php = / (for checkip.dyndns.org) or your own page, compatible with ip.php included in this suite
#
#####################
#
# read-only vaiables:
# online_ip contents-allways-your-actual-online-ip
#
#####################
<record>
service = dyndns
user = mxxxxx
pass = jxxx
host = mxxxxx.dyndns.tv
mx = mxxxx.dyndns.tv
var_pre_update = cmd_kill_mxxxxx.dyndns.tv
</record>
#<record>
service = hn
user =
pass =
# hn.org only allow one host per user
var_post_update = cmd_run ("wget http://192.168.1.167/control/message?nmsg=%s%%20Dein%%20Onlinestatus%%20hat%%20sich%%20ge%%C3%%A4ndert%%C3%%0ADie%%20neue%%20IP%%20lautet:%%20%s", user, online_ip)+("&& sleep 2")
</record>