Možný duplikát:
Přidat/aktualizovat soubor do existujícího archivu tar.gz?
Mám nějaké herní soubory, které chci denně aktualizovat, a ty vytvářejí složku tar.gz, ale místo toho, abych každý den vytvářel celý tar.gz všech souborů znovu, snažím se najít způsob, jak to zkontrolovat adresář pro soubory se změnil/přidal/smazal a aktualizujte archiv, abyste ušetřili čas a CPU místo toho, abyste každý den znovu vytvářeli archiv od nuly. Jak to mohu udělat?
Snažil jsem se použít –listed-incremented zatím bez úspěchu.
Přijatá odpověď:
Musíte vytvořit zálohu úrovně 0 první:
$ tar --create --verbose --listed-incremental ./game.snar --gzip \
--file game_`date +%F`.tar.gz game/
a další den tento příkaz komprimuje pouze soubory změněné od vytvoření ./game.snar
:
$ tar --create --verbose --listed-incremental ./game.snar --gzip \
--file game_`date +%F`.tar.gz game/
Tento archiv se nazývá záloha 1. úrovně .
Když chcete obnovit, vložte všechny archivní soubory do složky a extrahujte každý v pořadí, v jakém byly vytvořeny, pomocí --incremental
možnost, něco takového:
$ for t in game_2011-10-2*.tar.gz; \
do tar --verbose --extract --incremental --gzip --file $t; done