Abfrage des returncodes von wget

Post Reply
Message
Author
thomas

Abfrage des returncodes von wget

#1 Post by thomas »

Hi,
ich möchte nach erfolgreichem download eine Mail an den User versenden, damit der weiss es gibt was neues.
kann ich den rc-code abfragen ?

wget -r ftp://userspace

Meldung von wget
downloaded xy byte in x files !!!!!!!!!

Wie kann ich dies auswerten, ohne die Dateien vergleichen zu müssen die geladen wurden ?
Bin für jeden Tipp dankbar
Tom

Jochen

Re: Abfrage des returncodes von wget

#2 Post by Jochen »

Leider ist die Doku zu wget betreffs seiner Exitcodes sehr dürftig - um genau zu sein, nicht-existent. Aus dem Stegreif würde ich aber sagen, Exitcode 0 bei Download aller Dateien (auch keiner, wenn keine neuen dazugekommen sind) und Exitcode >0 bei Problemen (kein Connect usw.). Um den Exitcode selbst zu untersuchen, kannst Du natürlich nach wget-Aufrufen Die Shell-variable $? auswerten. Dort wird der Exitcode des zuletzt ausgeführten Kommandos gespeichert.

So wie sich Deine Frage liest, willst Du aber ganz was anderes, nämlich eine Analyse der Ausgabe von wget statt des Exitcodes. Richtig? Dazu böten sich Tools wie awk/sed/perl usw. an.

Jochen

Jochen

Re: Abfrage des returncodes von wget

#3 Post by Jochen »

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">wget -r ftp://userspace | sed -e '/^Downloaded/{
s/^Downloaded \<!--no-->([0-9,][0-9,]*\<!--no-->) bytes in \<!--no-->([0-9][0-9]*\<!--no-->) files/\<!--no-->1 \<!--no-->2/
s/,//g
}'</font><hr></pre></blockquote>Das sed-Skript lässt nur die Bytes (ohne Tausender-Komma) und die Anzahl übertragener Dateien übrig. Wenn Dir einer der beiden Werte reicht, streiche einfach \<!--no-->1 oder \<!--no-->2 im ersten Substitute-Kommando. Merke Dir den Wer in einer Variable und verschicke dementsprechend Mail.

Ist das ein erster Ansatz, oder hattest Du Dir was ganz anderes vorgestellt?

Jochen

Tom

Re: Abfrage des returncodes von wget

#4 Post by Tom »

Hallo Jochen,

ich denke ich komm damit hin.

Das ganze hat folgenden Hintergrund:
Per Script werden Dateien geladen. (wann's was neues gibt und was es ist ist hier nicht bekannt)
Geholt werden die Dateien mit wget (soweit kein Prob)
Nur wenn jetzt was neues dabei war, will der Anwender eine kurze Mail.

Thats all

Tom

Re: Abfrage des returncodes von wget

#5 Post by Tom »

Hi,

bin's leider noch mal.

wenn ich die Parameter sed ..... anfüge ändert sich an der Ausgabe nichts.
Steckt da der Teufel noch im Detail.

Tom

Jochen

Re: Abfrage des returncodes von wget

#6 Post by Jochen »

Nö, in meiner Blödheit... <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">

Natürlich hatte ich nur eine einzige Testzeile mittels echo in das sed-Kommando gepipet. Unter der Prämisse tut's das Skript auch, nur alle anderen Zeilen werden auch ausgegeben - wie Du jetzt ja festgestellt hast. Sorry, hab da einen Schritt zu kurz gedacht. Bugfix:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
wget -r ftp://userspace | sed -n -e '/^Downloaded/{
s/^Downloaded \([0-9,][0-9,]*\) bytes in \([0-9][0-9]*\) files/\1 \2/
s/,//g
p
}'</font><hr></pre></blockquote>Mittels Option "-n" wird die Default-Ausgabe aller Zeilen unterdrückt und mittels Kommando "p" die bearbeitete Zeile explizit ausgegeben. Jetzt sollte es so tun wie gewünscht.

Jochen

bazik

Re: Abfrage des returncodes von wget

#7 Post by bazik »

@Jochen:

Hast du schonmal überlegt nen Buch zu schreiben? ;)

Jochen

Re: Abfrage des returncodes von wget

#8 Post by Jochen »

Wieso? Es gibt schon viele Bücher zum Thema Shellskriptprogrammierung. Und wenn ich jetzt noch mal neu anfangen würde zu lernen, wären sed/awk (meine vielgeliebten Tools <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">) heute auch nicht mehr erste Wahl, sondern eher perl (vielleicht python?).

Das erschwert mir das perl-Lernen momentan ungemein: Bevor ich mir "mühsam" eine perl-Lösung zusammengekratzt habe (weil ich ja noch lerne), bin ich schon 3mal mit Shell/sed/awk/sonstigen Tools fertig, weil ich die einigermassen aus dem Effeff beherrsche...

Was ich als Buch gut fände und was ich in der Form, wie ich's mir vorstelle, noch nicht gefunden hab, wäre so eine Art Kochbuch: Problemstellungen mit kommentierter Beispiellösung, von einfach bis komplex, mit Angaben, welche speziellen Features verwendet werden. So viel zu tun, wo wenig Zeit... *seufz*

Jochen

Bug?

Re: Abfrage des returncodes von wget

#9 Post by Bug? »

Tom wrote:Hi,

bin's leider noch mal.

wenn ich die Parameter sed ..... anfüge ändert sich an der Ausgabe nichts.
Steckt da der Teufel noch im Detail.

Tom

User avatar
jochen
prolinux-forum-admin
Posts: 699
Joined: 14. Jan 2000 15:37
Location: Jülich
Contact:

#10 Post by jochen »

Ui, was für ein alter Thread! :) Ja, da hab ich noch als Gast gepostet... *in Nostalgie schwelg*

Aber was will uns Bug? denn nun sagen? Der Bugfix auf die zitierte Message folgt ja schließlich auf dem Fuße.


Jochen
Die grösste Lüge der EDV? "Mal eben..."

Post Reply