GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Tar.gz täglich nur mit geänderten Dateien aktualisieren?

Für diese Frage gibt es hier bereits Antworten :Vor 9 Jahren geschlossen.

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

Linux
  1. Ersetzen Sie Manpages durch Tealdeer unter Linux

  2. So entpacken Sie Dateien unter Linux (mit Beispielen)

  3. Arbeiten Sie mit ZIP-Dateien unter Linux

  4. Linux - Installieren Sie nur redis-cli

  5. Linux-Datei kopieren mit ETA?

Teilen Sie Dateien zwischen Linux-Desktops mit Warpinator

Linux-tar-Befehl – ​​So komprimieren Sie Dateien unter Linux

So entfernen Sie Dateien mit einer bestimmten Erweiterung in Linux

Erste Schritte mit dem Tar-Befehl

lsof-Befehl unter Linux mit Beispielen

Linux-Comm-Befehl mit Beispielen