Incremental Backup 增量備份
tar 需要一個 Snapshot(快照)文件來對照新舊檔案差異
- 備份實例基礎資料
備份目標位置: /etc 備份儲存位置: /var/backup 備份快照文件: etc.snar Day 1 備份儲存文件: etc.1.tar Day 2 備份儲存文件: etc.2.tar Day 3 備份儲存文件: etc.3.tar
- 第一天執行備份,建立 /var/backup/etc.snar 快照文件
# tar -cvf /var/backup/etc.1.tar /etc -g /var/backup/etc.snar
- 第二天執行備份,會根據/var/backup/etc.snar的快照文件與 /etc的差異準行備份
# tar -cvf /var/backup/etc.2.tar /etc -g /var/backup/etc.snar
- 第三天執行備份,會根據上一次的快照文件最後備份結果與 /etc的差異準行備份
# tar -cvf /var/backup/etc.3.tar /etc -g /var/backup/etc.snar
Incremental Backup 總結
經過三天的備份,我們應該會得到以下文件 # cd /var/backup # ls -l total 10324 -rw-r--r-- 1 root root 9687040 Feb 13 19:26 etc.1.tar -rw-r--r-- 1 root root 389120 Feb 14 19:26 etc.2.tar -rw-r--r-- 1 root root 430080 Feb 15 19:42 etc.3.tar -rw-r--r-- 1 root root 63331 Feb 15 19:42 etc.snar 第一天的 etc.1.tar 為 full Backup檔 第二天的 etc.2.tar 為 Day 2 的 Incremental Backup檔 第三天的 etc.3.tar 為 Day 3 的 Incremental Backup檔 注意:etc.snar文檔不可以刪除,否則就不能夠進行之後的 Incremental Backup
Restore 恢復
在Restore過程中,無需要使用快照文件,但必須要由第一天開始順序提取
- Restore實例基礎資料
etc.1.tar: full Backup檔 etc.2.tar: Day 2 的 Incremental Backup檔 etc.3.tar: Day 3 的 Incremental Backup檔 恢複的資料存放在 /home/foo e.g. # cd /var/backup # ls -l total 10324 -rw-r--r-- 1 root root 9687040 Feb 13 19:26 etc.1.tar -rw-r--r-- 1 root root 389120 Feb 14 19:26 etc.2.tar -rw-r--r-- 1 root root 430080 Feb 15 19:42 etc.3.tar -rw-r--r-- 1 root root 63331 Feb 15 19:42 etc.snar #
- 實例恢復 Day2 的資料步驟
# tar -C /home/foo -xvf etc.1.tar -g /dev/null # tar -C /home/foo -xvf etc.2.tar -g /dev/null
- 檢查恢複結果
# cd /home/foo # ls -l total 4 drwxr-xr-x 125 root root 4096 Feb 16 13:16 etc #
Restore 總結
# tar -C /home/foo -xvf etc.1.tar -g /dev/null 使用 -g /dev/null 的目的,會根據記錄自動刪除已改變的檔案。 若不使用 -g /dev/null,tar不會協助您刪除已取消的檔案。