Backup
使用一個命令進行 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
cat archive.*tar |tar xvf - -g /dev/null --ignore-zeros -C destination
在 tar 文件的末尾,是“存檔結束”標記(2x 512 個零字節塊。在某些情況下,tar 將繼續讀取標記,但不會獲取任何數據。
--ignore-zeroes
會告訴它繼續閱讀。相關:Tar 支持附加到檔案;它通過尋找到最後,倒帶兩個塊,然後繼續寫入來做到這一點。