每天仅使用更改的文件更新 tar.gz

每天仅使用更改的文件更新 tar.gz

可能的重复:
将文件添加/更新到现有的 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

相关内容