可能的重复:
将文件添加/更新到现有的 tar.gz 档案?
我有一些游戏文件,我希望每天更新,它们会创建该文件夹的 tar.gz,但我不是每天重新制作所有文件的完整 tar.gz,而是试图找到一种方法来检查它更改/添加/删除文件的目录并更新存档以节省时间和 CPU,而不是每天从头开始重新创建存档。我怎样才能做到这一点?
我试图使用 --listed-incremented 到目前为止没有运气。
答案1
您必须创建一个0级备份第一的:
$ tar --create --verbose --listed-incremental ./game.snar --gzip \
--file game_`date +%F`.tar.gz game/
第二天,此命令仅压缩自创建以来更改的文件./game.snar
:
$ tar --create --verbose --listed-incremental ./game.snar --gzip \
--file game_`date +%F`.tar.gz game/
该档案称为1级备份。
当您想要恢复时,将所有存档文件放入一个文件夹中,并使用该--incremental
选项按创建顺序提取每个文件,如下所示:
$ for t in game_2011-10-2*.tar.gz; \
do tar --verbose --extract --incremental --gzip --file $t; done