Backup

使用一個命令進行 tar 增量備份還原

  • December 31, 2019

我正在嘗試恢復增量備份,但為此我必須按順序提取每個存檔:

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

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

在 tar 文件的末尾,是“存檔結束”標記(2x 512 個零字節塊。在某些情況下,tar 將繼續讀取標記,但不會獲取任何數據。

--ignore-zeroes會告訴它繼續閱讀。

相關:Tar 支持附加到檔案;它通過尋找到最後,倒帶兩個塊,然後繼續寫入來做到這一點。

引用自:https://unix.stackexchange.com/questions/335030