Tar 增量备份通过一条命令恢复

Tar 增量备份通过一条命令恢复

我正在尝试恢复增量备份,但要做到这一点,我必须按顺序提取每个存档:

tar cvf archive.1.tar -g archive.snar backup

在备份文件夹中进行更改

tar cvf archive.2.tar -g archive.snar backup

做出改变

tar cvf archive.3.tar -g archive.snar backup

当我做

tar --list --incremental --verbose --verbose --file archive.3.tar

我可以看到当前快照中的文件列表。但我需要运行:

tar xvf archive.1.tar -g /dev/null -C destination
tar xvf archive.2.tar -g /dev/null -C destination
tar xvf archive.3.tar -g /dev/null -C destination

按顺序获取最后一个备份。有没有办法用一个命令来做到这一点?

tar {some options} archive.3.tar

答案1

cat archive.*tar |tar xvf - -g /dev/null --ignore-zeros -C destination

tar 文件的末尾是“归档结束”标记(2x 512 个零字节块。在某些情况下,Tar 将继续读取该标记,但不会获取任何数据。

--ignore-zeroes会告诉它无论如何都要继续阅读。

相关:Tar 支持追加到档案;它通过查找到末尾、倒回两个块,然后继续写入来实现此目的。

相关内容