Mögliches Duplikat:
Eine Datei zu einem bestehenden tar.gz-Archiv hinzufügen/aktualisieren?
Ich habe einige Spieldateien, die ich täglich aktualisieren möchte, und sie erstellen eine tar.gz des Ordners, aber anstatt jeden Tag eine vollständige tar.gz aller Dateien zu erstellen, versuche ich, einen Weg zu finden, sie zu überprüfen das Verzeichnis für geänderte/hinzugefügte/gelöschte Dateien und aktualisieren Sie das Archiv, um Zeit und CPU zu sparen, anstatt das Archiv jeden Tag von Grund auf neu zu erstellen. Wie kann ich das tun?
Ich habe bisher versucht, –listed-incremented ohne Erfolg zu verwenden.
Akzeptierte Antwort:
Sie müssen ein Level-0-Backup erstellen zuerst:
$ tar --create --verbose --listed-incremental ./game.snar --gzip \
--file game_`date +%F`.tar.gz game/
und am nächsten Tag komprimiert dieser Befehl nur Dateien, die sich seit der Erstellung von ./game.snar
geändert haben :
$ tar --create --verbose --listed-incremental ./game.snar --gzip \
--file game_`date +%F`.tar.gz game/
Dieses Archiv wird als Level-1-Backup bezeichnet .
Wenn Sie wiederherstellen möchten, legen Sie alle Archivdateien in einem Ordner ab und extrahieren Sie sie in der Reihenfolge ihrer Erstellung mit --incremental
Option, etwa so:
$ for t in game_2011-10-2*.tar.gz; \
do tar --verbose --extract --incremental --gzip --file $t; done