Gezippte Logfiles aufteilen, ohne die ungezippten Splits auf der Festplatte zu speichern
Ich habe die wiederkehrende Aufgabe, einen Satz großer Apache-Logfiles (jeweils ca. 1 bis 2 GB) in mehrere Teile zu zerlegen (z. B. Blöcke mit 500 KB Zeilen). Die endgültigen Dateien sollten erneut komprimiert werden, um die Datenträgerverwendung einzuschränken.
nter Linux würde ich normalerweise tun:
zcat biglogfile.gz | split -l500000
Die resultierenden Dateien heißen xaa, xab, xac usw. Also mache ich:
gzip x*
Der Effekt dieser Methode ist, dass als Zwischenergebnis dieseenor -Dateien werden vorübergehend auf der Festplatte gespeichert. Gibt es eine Möglichkeit, diese zwischenzeitliche Datenträgerverwendung zu vermeiden?
Kann ich (ähnlich wie bei xargs) die Ausgabe durch einen Befehl (wie gzip) teilen und die Ausgabe im laufenden Betrieb neu komprimieren? Oder schaue ich in die falsche Richtung und gibt es einen viel besseren Weg, dies zu tun?
Vielen Dank