
Ich versuche, bestimmte Dateien zu komprimieren:
find /media/mount/storage -newermt "2013-08-01 00:00:00" -path '*/*wind.txt' -print0 | xargs -0 gzip -l >> file_system.tar.gz
aber ich erhalte die folgende Fehlermeldung:
gzip: /media/mount/storage/20130811120802_RHI1/20130811121000_wind.txt: not in gzip format
Wo mache ich den Fehler?
BEARBEITET: Mit der Antwort von Chronitis wird der Tar manchmal neu erstellt. Dies ist die Ausgabe:
/media/mount/storage/File system/20130505082135_CT1/20130505090000_wind.txt
/media/mount/storage/File system/20130505085301_CT1/20130505090000_wind.txt
tar: Removing leading `/' from member names <- the size of the tar became zero
/media/mount/storageFile system/20130505085301_CT1/20130505091000_wind.txt
/media/mount/storageFile system/20130505085301_CT1/20130505092000_wind.txt
Antwort1
Ich gehe davon aus, dass Sie ein gzipptes TAR-Archiv erstellen möchten, das alle vom find
Befehl gefundenen Dateien enthält (und nicht jede dieser Dateien einzeln gzippt).
Mit dem obigen Befehl sind mehrere Probleme verbunden:
gzip -l
übernimmt ein bestehendes Archiv und druckt den Inhaltgzip
erzeugt selbst keine Tar-Archive (einen Container für mehrere Dateien), sondern komprimiert jede Datei einzeln
Sie möchten wahrscheinlich etwa Folgendes:
find [conditions] -print0 | xargs -0 tar -zcf filesystem.tar.gz