[GELÖST] - DDNSupdater.sh läuft scheinbar nicht richtig

Gelöste Themen / Solved Threads
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von feissmaik »

szonic hat geschrieben:Hmmm..tmp2ram.sh nutze ich nicht, nur Logmini.sh, und das macht einen guten Job.

Ich schaue mir das ganze nachher mal an, und berichte über die Erweiterung der "Sendmail-Funktion".
Wobei ich eh davon ausgehe das es einwandfrei funzen wird! :mrgreen:
hehe ;)

tmp2ram.sh würde ich deswegen jedem empfehlen weil dann /tmp und /var/log im RAM liegen - vorallem in /var/log/ wird ständig herrumgeschrieben und wenn das im RAM liegt erhöht sich auch die Lebensdauer einer normalen Festplatte :)

logmini.sh ist ja nur für logrotation...
Du musst nicht kämpfen um zu siegen
szonic
IPC Interessierter
Beiträge: 115
Registriert: Mi 25. Mai 2011, 17:30
Kontaktdaten:

Re: DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von szonic »

So, tmp2ram ist installiert.

Kann ich die Ordner tmp.save und log.save löschen, und wurden nioch mehr .save ordner angelegt?

Leider funzt das script doch nicht, ich habe es mal testweise in den Abschnitt function show_status() eingebaut, und wolltze den Versand prüfen.
Denke da liegt ein genereller fehler vor, es kommt folgenmde Meldung:

Code: Alles auswählen

/sbin/ddns: Zeile 119: [: Fehlende `]'
In dem Bereich der zeile 119 liegt die function send_Email:

Code: Alles auswählen

# Verschicke EMail..
function send_EMail() {
	MESSAGE=$1
	SUBJECT="$Osrcn Problem"
	if [ $EMAIL = "yes"]; then
		echo "Verschicke EMail.."
		send_Email -f $EMAILFROM -t $EMAILTO -u "$SUBJECT" -m "$MESSAGE" -s $EMAILSERVER -xu "$EMAILUSER" -xp "$EMAILPASS"
	fi
}
Siehst du den Fehler?
Ich habe bei send_Email einen Unterstrich zugefügt, der fehlte, half aber auch nicht.
Irgendwo müssen `´ oder [] hin, mehr lese ich aus dem Fehler nicht.

Grüsse
szonic
szonic
IPC Interessierter
Beiträge: 115
Registriert: Mi 25. Mai 2011, 17:30
Kontaktdaten:

Re: DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von szonic »

FEHLER GEFUNDEN! :-)))

Der untersstrich war Blödsinn, der muß wieder weg, aber:
Mit dem "yes" gibt es Probleme, ich habe das durch "1" ersetzt, und schon wurde eine Mail gesendet! :mrgreen:

Allerdings steht in der mail nur ein Account, nicht beide, aber das bekomme ich bestimmt auch noch hin... oder Du stößt mich drauf! :-)

Grüsse
szonic
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von feissmaik »

ähm nein send_Email gibt es nicht - die funktion kann sich zudem nicht selber aufrufen also bitte nicht durcheinander würfeln!
Nachdem man das Paket " sendEmail " installiert hat steht einem der Shellbefehl " sendEmail " zur Verfügung...


Deine Fehlermeldung sagt aber doch auch aus das irgendwo in zeile 119 ein " ] " fehlen würde?
nun steht in Zeile 119 aber garkein [ also hab ich gerade mal geguckt und hast recht, da ist noch ein "Bug" drin aber quasi nur ein Flüchtigkeitsfehler...

Zum verständniss, gib mal in der Console folgendes ein: [ $USER = "root"] && echo $USER
da müsste er jetzt den gleichen Fehler auswerfen wie du ihn gekriegt hast...
So und nun füge hinter das "root" ein Leerzeichen ein also zwischen "root" und ] sodass es so aussieht:
[ $USER = "root" ] && echo $USER
und das müsste dann gehen.... dh bearbeite DDNSupdater.sh und pass die Zeile 117 an und füge dort ein Leerzeichen zwischen "yes" und ] ein


Sorry :? & Danke
Dateianhänge
DDNSupdater_1.093.zip
v1.093 - multiaccount+email
(4.07 KiB) 119-mal heruntergeladen
Du musst nicht kämpfen um zu siegen
szonic
IPC Interessierter
Beiträge: 115
Registriert: Mi 25. Mai 2011, 17:30
Kontaktdaten:

Re: DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von szonic »

Hehehe, bin gerne Betatester, soll ja laufen und ich habe ebenfalls was davon! :-)

So, das Leerzeichen hatte ich als erstes probiert, hat aber nichts gebracht, also habe ich es wieder rückgängig gemacht.
Nach den letzten Tests, und Deiner Antwort, denke ich das ich es nicht gespeichert hatte, denn nun funzt es mit dem Leerzeichen.
Mit der "1" habe ich es unbewußt wieder eingebaut, daher ging es dann. :idea:

Danke für die Aufklärung, Linux ist doch recht anders wie VBA, und die Fehlermeldungen für einen laien nicht ganz so einfach zu deuten... :?

Nun bekomme ich auch bei "ddns status" Emails, für jeden Account eine, dazu habe ich das gemacht:
Spoiler
Show
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)"
}

Ich hoffe morgen bekomme ich eine Update Mail, dann bin ich schon glücklich:
Spoiler
Show
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"
}

Ich glaube dann ist es auch bald "stable" oder? :lol:

Grüsse und Danke
szonic
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: [GELÖST] - DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von feissmaik »

kollege ausm anderen board meint grad das ich noch ein paar sonderzeichen in der function proc_url_encode vergessen habe:

Code: Alles auswählen

# 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
}
... da nutze ich zZt leider nur: % { } | \ ^ ~ [ ] ` # > $ & + , / : ; = ? und <
Auf folgender Seite stehen alle: http://www.w3schools.com/tags/ref_urlencode.asp .. normale buchstaben und zahlen kann man aber weglassen...
Es würden also noch sowas wie folgendes fehlen: ! " @ ' ( ) * - _ . € ... alle anderen nutzt man glaub ich mal eher nicht...

Vor das jeweilige Zeichen sollte auch ein Escape-char \ gesetzt werden damit es vom Script ignoriert wird
Spoiler
Show

Code: Alles auswählen

# 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
}
Du musst nicht kämpfen um zu siegen
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: [GELÖST] - DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von feissmaik »

DDNSupdater2.sh aktuallisiert auf v2.02 ... sonderzeichen erweitert sowie 2 bugs behoben
Du musst nicht kämpfen um zu siegen
rolu2
IPC Anfänger
Beiträge: 70
Registriert: Sa 21. Mai 2011, 16:05
Kontaktdaten:

Re: [GELÖST] - DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von rolu2 »

Kann es sein das es noch nicht online ist?

Nutze das DDNSupdater.sh mit der version 1.093 und wollte wechseln

Kannst es ja hier auch noch mal anhängen
gruß rolu2
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: [GELÖST] - DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von feissmaik »

doch, DDNSupdater2.sh ist über i os verfügbar allerdings muss ich davon leider noch abraten, hab gestern erst einen üblen Bug entdeckt wodurch er bei "now" nichts macht solange die DYNIP noch der CURRENTIP entspricht .. siehe dazu http://ipc.pebkac.at/forum/viewtopic.ph ... 4396#p4396

sorry :(


/EDIT: also das script funktioniert soweit schon, allerdings macht es nur was wenn die ip der dyndns nicht der aktuellen ip des internetanschlusses entspricht - forcen funktioniert also derzeit nicht....
Du musst nicht kämpfen um zu siegen
szonic
IPC Interessierter
Beiträge: 115
Registriert: Mi 25. Mai 2011, 17:30
Kontaktdaten:

Re: [GELÖST] - DDNSupdater.sh läuft scheinbar nicht richtig

Beitrag von szonic »

Hast Du schon eine Lösung für das Problem?
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste