我正在尝试恢复增量备份,但要做到这一点,我必须按顺序提取每个存档:
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 支持追加到档案;它通过查找到末尾、倒回两个块,然后继续写入来实现此目的。