Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

ipc syslog problem und ddnsupdater2.sh problem

mongo02

Freak
Registriert
8. Januar 2008
Beiträge
271
Reaktionspunkte
3
Punkte
78
hallo!!habe ipc 11.3 mit debian 6.0.4 wenn ich bei mir mit winscp unter var/log schaue dann sehe ich da:daemon.log, daemon.log.1, debug, debug.1, syslog, syslog.1, sylog.save, syslog.save.1 muss das so? warum habe ich die dateien doppelt?habe logmini.sh drauf das sollte eigentlich laufen!wieso sind die dateien doppelt?


ausserdem habe ich noch mit ipc ddnsupdater2.sh probleme!!wenn ich meine logfiles von no-ip.com, sowie meine dyndns adresse da eingebe, und dann in cron speicher das er das bei jeden neustarts meines futro 400 den updater mit starten soll dann in putty ddns status eingebe, dann kommt ddas: ddns auto root@localhost ~ > Running Script in Background with PID(s): 10273 ping: unknown host dyndns wget: URL fehlt Syntax: wget [OPTION]... ...er updatet einfach nicht meine ip!! so sieht mein script aus!!: [SPOILER][CODE]#!/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"]="xxxx.@email.de" # DDNS Benutzername1 PASSWORD["1"]="passwort" # DDNS Passwort1 DDNSHOST["1"]="otto1.zapto.org" # DDNS Hostname1 #USERNAME["2"]="benutzer2" # DDNS Benutzername2 #PASSWORD["2"]="password2" # DDNS Passwort2 #DDNSHOST["2"]="host2.zapto.org" # DDNS Hostname2 #USERNAME["3"]="benutzer3" # DDNS Benutzername3 #PASSWORD["3"]="password3" # DDNS Passwort3 #DDNSHOST["3"]="host3.dyndns.org" # 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://%USER%:%PASS%@members.dyndns.org/nic/update?hostname=%HOST%" 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="300" # Zeit in Sekunden zwischen den Abfragen LOG="1" # Erstelle Logfile bei update? [0=nein; 1=ja] # Verschicke EMail bei Problemen? [no=nein; yes=ja] # ( benoetigt: apt-get install sendEmail ) EMAIL="no" EMAILFROM="`hostname`@fqdn.net" EMAILTO='admin@fqdn.net' EMAILSERVER='mail.fqdn.net' EMAILUSER='' 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="2.02" 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 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}; out=${out//\!/%21}; out=${out//\"/%22}; out=${out//\@/%40}; out=${out//\'/%27}; out=${out//\(/%28}; out=${out//\)/%29}; out=${out//\*/%2A}; out=${out//\-/%2D}; out=${out//\_/%5F}; out=${out//\./%2E}; out=${out//\€/%80}; 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" && LOG_msg "$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 - http://myip.dnsomatic.com/) if [ -z "$CURRENTIP" -o "$CURRENTIP" = " *" -o "$CURRENTIP" = "*1.0 *" ]; then CURRENTIP=$(wget -q -O - http://www.whatismyip.org/) fi if [ -z "$CURRENTIP" -o "$CURRENTIP" = " *" -o "$CURRENTIP" = "*1.0 *" ]; then CURRENTIP=$(wget -q -O - http://checkip.dyndns.org | grep IP | expr \`awk '{print $6}'\` : '\([0-9.]*\)') fi if [ -z "$CURRENTIP" -o "$CURRENTIP" = " *" -o "$CURRENTIP" = "*1.0 *" ]; then CURRENTIP=$(wget -q -O - http://checkip.dyndns.org/ | 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 - http://www.myip.ch/ | grep "IP Address" | cut -d ' ' -f4 | sed -e 's/\$//g' -e 's/\\r//g') fi [ -z "$CURRENTIP" ] && eRROR="Cant get current internet ip" } 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" } 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" 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 der 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 exit 0[/CODE][/SPOILER] als username habe ich die emailadresse eingegeben wo ich mich bei no-ip einlogge als passwort mein passwort und als ddnshost meine dyndns adresse!! was mache ich falsch?danke schonmal für eure hilfe
 
Zuletzt bearbeitet von einem Moderator:
leider steht da nicht wie man das macht von no-ip manuell aktualisieren ist das die richtige seite?
 
hört sich doch gut an "Host Activation" wobei ich das nicht machen muss. bei mir reicht es unter "Add Host" einen weiteren "DNS Host (A)" zu Createn, von activation steht da nix. es muss halt eine IP eingetragen sein
 
AW: ipc syslog problem und ddnsupdater2.sh problem

in welchen ordner befindet sich eigetlich die datei DDNSupdater2.sh nach der instalation oder wie kann man prüfen ob es läuft?
 
AW: ipc syslog problem und ddnsupdater2.sh problem

Ich versteh nicht ganz, was das Ganze soll. Du postest dein Problem bei pebkac und jetzt hier auch noch in 2 Threads.
Willst du die Datenbanken zuspammen, oder wie?
 
AW: ipc syslog problem und ddnsupdater2.sh problem

er sucht sich alle threads die damit etwas zu tun haben könnten ;)


starturk: lern mit linux um zu gehen und such nach der datei: find / -name <datei>
 
Zurück
Oben