xyz.log.gz Decomprimieren
Valentin Wirth
- perl
Hallo,
Kann mir jemand verraten wie ich .gz Datein mit Perl entpacken kann. Dafür werde ich ja bestimmt ein Modull zu Rate ziehen müssen. Gefunden habe ich was für gZip - ist das das gleiche wie .gz Datein? Währe dafür Compress::Zlib gut? Wie entpackt ihr eure LogFiles?
mfg Valentin
Hi Valentin,
Wie entpackt ihr eure LogFiles?
gar nicht. Der Webalizer kann gzip-komprimierte logs direkt lesen.
Viele Grüße
Michael
gar nicht. Der Webalizer kann gzip-komprimierte logs direkt lesen.
Haha will sie aber selbst weiterverarbeiten da mir ein paar Dinge in den Meisten Tools fehlen.
Hi Valentin Wirth,
Haha will sie aber selbst weiterverarbeiten da mir ein paar Dinge in den Meisten Tools fehlen.
Was hältst Du von
gzip -d <dateiname> | auswertungsprogramm.pl
?
Ich sehe keinen Sinn darin, existierende Betriebssysteme nachzuprogrammieren.
Viele Grüße
Michael
Was hältst Du von
gzip -d <dateiname> | auswertungsprogramm.pl
Oh bitte kurz mehr dazu - wo kommt das hin und was bedeuten die einzelnen Teile?
Ich habe ein Haufen Zipdatein die ich regelmäßig automatisiert vom Server lade und dann um Sie weiter auswerten zukönnen (Auswertungsprogramme gibts schon). Dafür brauche ich keine .log.gz Datein sondern entpackte .log Datein. Also muss das Entpacken auch automatisch gehen. Mir schwebt sowas vor wie, Datei mit gleichen Namen im Ordner nur entpackt danach zu speichern. Damit kann ich dann weiterarbeiten.
Danke Euch Valentin
Hi Valentin Wirth,
Was hältst Du von
gzip -d <dateiname> | auswertungsprogramm.pl
Oh bitte kurz mehr dazu - wo kommt das hin und was bedeuten die einzelnen Teile?
"gzip" ist ein UNIX-Programm; "-d" ist (in der mir vorliegenden Version) das Flag zum Dekomprimieren.
"|" ist eine UNIX-pipe - sie verbindet die Ausgabe des vorherigen mit der Eingabe des nachfolgenden Programms. Das ist eine elementare UNIX-Shell-Fähigkeit.
Ich habe ein Haufen Zipdatein die ich regelmäßig automatisiert vom Server lade und dann um Sie weiter auswerten zukönnen (Auswertungsprogramme gibts schon).
Ich mache meine Auswertungen direkt auf dem Server (periodisch gestartet via crontab) - und deshalb kann ich die Features von dessen Shell voraussetzen.
Ein Webspace mit Perl-Interpreter ist nicht nur für CGI-Skripte nützlich.
Mir schwebt sowas vor wie, Datei mit gleichen Namen im Ordner nur entpackt danach zu speichern.
Du brauchst die Datei doch gar nicht in statisch entpackter Form - Du brauchst diesen Inhalt nur während des Einlesens durch Dein Programm. Und gzip-Komprimierung macht leicht Faktor 6-10 aus ...
Viele Grüße
Michael
Danke erstaml so weit - das hört sich sehr spannend an.
Ich mache meine Auswertungen direkt auf dem Server (periodisch gestartet via crontab) - und deshalb kann ich die Features von dessen Shell voraussetzen.
Hier das Problem - ich habe auf meinem Server keine CronJobs, leider (schluchtz), dafür müsste ich fast doppelt so viel zahlen (grr Puretec). Also dachte ich mir, heute bist du schlau und preisbewusst und nutzt den Windows Task Planer meiner Arbeitsmaschine um CronTab zu simmulieren. Ja wirklich, da stand gerade Windows - leider habe ich kein Unix.
Desweiteren arbeiten an den Scripten zwei Personen und die andere will statisch entpackt log Files. Also bin ich nicht so und sage: "ok sollst du haben - dann schalte ich ebend ein kleines Perl Toolchen dazwischen, was alles nach dem Download entpackt". So dachte ich. Daher das ganze (wenn auch nicht ganz schnelle und perfekte) Vorgehen und die Suche nach einem einfachen Perl Modul zum entpacken.
Ich hoffe ihr schlaft jetzt noch nicht nach dieser laaaangen Geschichte und danke nochmal für die Hilfe,
mfg Valentin
Hi Valentin,
Ja wirklich, da stand gerade Windows - leider habe ich kein Unix.
google mal nach "gzip.exe".
Oder lies:
http://www.schroepl.net/projekte/gzip_cnc/install.htm#program
Viele Grüße
Michael
Moin!
Kann mir jemand verraten wie ich .gz Datein mit Perl entpacken kann. Dafür werde ich ja bestimmt ein Modull zu Rate ziehen müssen. Gefunden habe ich was für gZip - ist das das gleiche wie .gz Datein? Währe dafür Compress::Zlib gut? Wie entpackt ihr eure LogFiles?
Ich entpacke meine Logfiles mit einem Shellscript, welches einfach gunzip aufruft und dann Webalizer startet.
Ansonsten sei noch der Hinweis gestattet, dass gzip (und gunzip) es auch erlauben, die Dateiinhalte auf die Standardausgabe zu spielen. Da kann dein Auswerteskript natürlich auch ansetzen. Einfach das passende fopen() (oder wie heißt das in Perl?) mit einer Pipe aufmachen und die Daten einlesen.
- Sven Rautenberg