Zeigt den Deflationsprozentsatz des Tar-Befehls an (wie beim Zip-Befehl)

Zeigt den Deflationsprozentsatz des Tar-Befehls an (wie beim Zip-Befehl)

Diese Frage mag seltsam klingen, aber ich würde gerne wissen, ob es eine Möglichkeit gibt, den Deflationsprozentsatz der im tarBefehl verarbeiteten Dateien anzuzeigen.

Ich verwende diesen Befehl, tar -cjvf "$BACKUP_PATH/Complete Backup $date.tar.bz2" $MINECRAFT_PATHum ein Backup eines Minecraft-Spieleservers zu erstellen. Und hier werden alle Dateien angezeigt, die verarbeitet werden. Das sieht fast wie der zipBefehl aus. Der Unterschied besteht darin, dass nach zipAbschluss des Befehls angezeigt wird, wie stark die Datei verkleinert wurde. Ich frage mich, ob dies mit dem Tar-Befehl möglich ist.

Antwort1

Dies ist nicht möglich, da die Dateien zunächst archiviert ( tar) und das Ergebnis dann als Ganzes komprimiert ( bz2oder gz) wird. Dies ist (Bearbeiten: einer der) Gründe, warum tar.bz2oder tar.gznormalerweise kleiner sind als zip, insbesondere wenn sie viele kleine und ähnliche Dateien enthalten.

Antwort2

Wenn Sie zuerst tarund dann entweder gzipoder ausführen bzip2, können Sie beiden die Option -vzur Anzeige des Komprimierungsverhältnisses übergeben, beispielsweise so:

tar -cvf - foo/ | bzip2 -v > foo.tar.bz2

Antwort3

Wozu? Sie können tar sagen, dass der Block mit der verarbeiteten Nummer in stdout geschrieben wird, oder Sie können einen Befehl ausführen, der die verarbeitete Blocknummer abruft. Dies ist die Grundlage für die Prozentanzeige. Verwenden Sie die Option

tar ...something ... --checkpoint --checkpoint-action=ACTION

siehe man tar.

verwandte Informationen