xfs提供了xfsdump和xfsrestore工具,協助備份xfs文件系統中的數據。xfsdump按inode順序備份一個xfs文件系統
在CentOS7中,xfs格式作為默認文件系統,不再使用以前的ext,但仍然支持ext4。xfs專為大數據產生,每個文件系統最大可以支持8eb,單個文件可以支持16tb,不僅數據量大,而且擴展性高。還可以通過xfsdump和xfsrestore來備份和恢復。原始備份數據方法:cp
與傳統的UNIX文件系統不同,xfs不需要備份前卸載;對使用中的xfs文件系統做備份就可以保證鏡像的一致性。xfs的備份和恢復的過程是可以被中斷然后繼續的,無需凍結文件系統。xfsdump甚至特功了高性能的多線程備份操作——它把一次dump拆分成多個數據流,每個數據流可以被發往不同的目的地
首先了解一下xfsdump的備份級別有以下兩種:0,代表完整備份;1~9,代表增量備份。默認為0(即完全備份)。
(1).環境
VMware12 系統CentOS7.6
添加一塊虛擬硬盤(准備一個測試分區),分區,格式化,掛載
1)添加完一塊虛擬硬盤后如何查看系統是否識別
[root@xuexi xf]# fdisk -l 磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x000c83f7 設備 Boot Start End Blocks Id System /dev/sda1 * 2048 411647 204800 83 Linux /dev/sda2 411648 21383167 10485760 83 Linux /dev/sda3 21383168 25577471 2097152 82 Linux swap / Solaris 磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 [root@xuexi xf]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sdb
2)分區,格式化,掛載可以參考以下文檔:
https://www.cnblogs.com/diantong/p/8855683.html
這里創建一個1G的sdb1分區,xfs格式化,並掛載到新建的文件夾/sdb1
3)准備一份備份的測試文件
[root@xuexi xf]# cd /sdb1/ [root@xuexi sdb1]# ls [root@xuexi sdb1]# cp /etc/passwd ./ [root@xuexi sdb1]# mkdir test [root@xuexi sdb1]# touch test/a [root@xuexi sdb1]# tree /sdb1/ /sdb1/ ├── passwd └── test └── a 1 directory, 2 files
(2).完整備份
1)備份整個分區
xfsdump –f [備份存放路徑] [要備份的設備文件或掛載點]
注意:備份的路徑這里不能寫/sdb1/。可以寫成/dev/sdb1或/sdb1
[root@xuexi sdb1]# mkdir /dump [root@xuexi sdb1]# xfsdump -f /dump/sdb1 /dev/sdb1 xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control ============================= dump label dialog ============================== please enter label for this dump session (timeout in 300 sec) -> dump_sdb1_20181228 //指定備份會話標簽,就是對此文件系統的簡短描述 session label entered: "dump_sdb1_20181228" --------------------------------- end dialog --------------------------------- xfsdump: level 0 dump of xuexi:/sdb1 xfsdump: dump date: Fri Dec 28 14:11:55 2018 xfsdump: session id: a1afa104-8f0c-42fa-be6e-594b674f13c7 xfsdump: session label: "dump_sdb1_20181228" xfsdump: ino map phase 1: constructing initial dump list xfsdump: ino map phase 2: skipping (no pruning necessary) xfsdump: ino map phase 3: skipping (only one dump stream) xfsdump: ino map construction complete xfsdump: estimated dump size: 25856 bytes xfsdump: /var/lib/xfsdump/inventory created ============================= media label dialog ============================= please enter label for media in drive 0 (timeout in 300 sec) -> sdb1 //指定設備標簽,就是對要備份的設備做一個簡短描述 media label entered: "sdb1" --------------------------------- end dialog --------------------------------- xfsdump: creating dump session media file 0 (media 0, file 0) xfsdump: dumping ino map xfsdump: dumping directories xfsdump: dumping non-directory files xfsdump: ending media file xfsdump: media file size 25552 bytes xfsdump: dump size (non-dir files) : 2592 bytes xfsdump: dump complete: 39 seconds elapsed xfsdump: Dump Summary: xfsdump: stream 0 /dump/sdb1 OK (success) xfsdump: Dump Status: SUCCESS
2)指定備份時免交互操作,方便后期做定時備份
-L 指定備份會話標簽
-M 指定設備標簽
[root@xuexi sdb1]# xfsdump -f /dump/sdb1_v2 /sdb1 -L dump_sdb1_20181228_v2 -M sdb1 xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsdump: level 0 dump of xuexi:/sdb1 xfsdump: dump date: Fri Dec 28 14:26:05 2018 xfsdump: session id: 5595618f-a3c3-4f4d-a5fc-0f6b86513400 xfsdump: session label: "dump_sdb1_20181228_v2" //備份會話標簽 xfsdump: ino map phase 1: constructing initial dump list xfsdump: ino map phase 2: skipping (no pruning necessary) xfsdump: ino map phase 3: skipping (only one dump stream) xfsdump: ino map construction complete xfsdump: estimated dump size: 25856 bytes xfsdump: creating dump session media file 0 (media 0, file 0) xfsdump: dumping ino map xfsdump: dumping directories xfsdump: dumping non-directory files xfsdump: ending media file xfsdump: media file size 25552 bytes xfsdump: dump size (non-dir files) : 2592 bytes xfsdump: dump complete: 0 seconds elapsed xfsdump: Dump Summary: xfsdump: stream 0 /dump/sdb1_v2 OK (success) xfsdump: Dump Status: SUCCESS
3)指定只備份分區中某個目錄或文件
-s [文件路徑] 只對指定的文件或目錄進行備份,路徑是相對路徑
[root@xuexi sdb1]# ls /boot/grub2/ device.map fonts grub.cfg grub.cfg.1544939406.rpmsave grubenv i386-pc locale [root@xuexi sdb1]# xfsdump -f /dump/grub2_grub.cfg -s grub2/grub.cfg /boot -L dump_grub2_grub.cfg_20181228 -M boot-sda1 xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsdump: level 0 dump of xuexi:/boot xfsdump: dump date: Fri Dec 28 15:43:25 2018 xfsdump: session id: 6c2c5768-7389-46be-ab7b-11ceaf19c2b5 xfsdump: session label: "dump_grub2_grub.cfg_20181228" xfsdump: ino map phase 1: constructing initial dump list xfsdump: ino map phase 2: skipping (no pruning necessary) xfsdump: ino map phase 3: skipping (only one dump stream) xfsdump: ino map construction complete xfsdump: estimated dump size: 29632 bytes xfsdump: creating dump session media file 0 (media 0, file 0) xfsdump: dumping ino map xfsdump: dumping directories xfsdump: dumping non-directory files xfsdump: ending media file xfsdump: media file size 28848 bytes xfsdump: dump size (non-dir files) : 5152 bytes xfsdump: dump complete: 0 seconds elapsed xfsdump: Dump Summary: xfsdump: stream 0 /dump/grub2_grub.cfg OK (success) xfsdump: Dump Status: SUCCESS
4)查看備份信息和內容
備份成功后,我們可以在/var/lib/xfsdump/inventory目錄下看到生成的檔案信息
[root@xuexi sdb1]# ls /var/lib/xfsdump/inventory/ 02c76feb-497b-4167-8e72-f8b81a79dbf9.InvIndex 43384fc8-7ba5-4f18-b9f9-246e4992962b.StObj fstab 1eccfe79-a9eb-4f09-83c1-f28aa64db1ce.InvIndex afe37eaa-9e10-4243-ad45-36aadc180d58.StObj [root@xuexi sdb1]# xfsdump –I(大寫的i) //查看所有備份信息
注意:使用xfsdump時有以下幾個限制:
1.xfsdump不支持沒有掛載的文件系統備份!
2.xfsdump必須使用root權限才能操作(涉及文件系統的關系)
3.xfsdump只能備份xfs文件系統
4.xfsdump備份下來的數據(檔案或存儲媒體)只能讓xfsrestore解析
5.xfsdump是通過文件系統的UUID來分辨系統各個備份檔的,英雌不能備份兩個具有相同UUID的文件系統
(3).文件系統恢復
xfsrestore –f [指定需要恢復的備份文件路徑] [指定恢復后文件的存放路徑]
1)測試恢復:先刪除之前創建的內容
[root@xuexi sdb1]# ls passwd test [root@xuexi sdb1]# pwd /sdb1 [root@xuexi sdb1]# rm -rf ./*
2)恢復整個分區
[root@xuexi sdb1]# xfsrestore -f /dump/sdb1 /sdb1/ xfsrestore: using file dump (drive_simple) strategy xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsrestore: searching media for dump xfsrestore: examining media file 0 xfsrestore: dump description: xfsrestore: hostname: xuexi xfsrestore: mount point: /sdb1 xfsrestore: volume: /dev/sdb1 xfsrestore: session time: Fri Dec 28 14:11:55 2018 xfsrestore: level: 0 xfsrestore: session label: "dump_sdb1_20181228" xfsrestore: media label: "sdb1" xfsrestore: file system id: 1eccfe79-a9eb-4f09-83c1-f28aa64db1ce xfsrestore: session id: a1afa104-8f0c-42fa-be6e-594b674f13c7 xfsrestore: media id: 8db0ba63-465f-42ba-8581-7cc22a24b902 xfsrestore: using online session inventory xfsrestore: searching media for directory dump xfsrestore: reading directories xfsrestore: 2 directories and 3 entries processed xfsrestore: directory post-processing xfsrestore: restoring non-directory files xfsrestore: restore complete: 0 seconds elapsed xfsrestore: Restore Summary: xfsrestore: stream 0 /dump/sdb1 OK (success) xfsrestore: Restore Status: SUCCESS [root@xuexi sdb1]# ls /sdb1/ passwd test [root@xuexi sdb1]# tree /sdb1/ /sdb1/ ├── passwd └── test └── a 1 directory, 2 files
3)恢復單個文件
[root@xuexi sdb1]# ls passwd test [root@xuexi sdb1]# xfsrestore -f /dump/grub2_grub.cfg -s grub2/grub.cfg /sdb1/ xfsrestore: using file dump (drive_simple) strategy xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsrestore: searching media for dump xfsrestore: examining media file 0 xfsrestore: dump description: xfsrestore: hostname: xuexi xfsrestore: mount point: /boot xfsrestore: volume: /dev/sda1 xfsrestore: session time: Fri Dec 28 15:43:25 2018 xfsrestore: level: 0 xfsrestore: session label: "dump_grub2_grub.cfg_20181228" xfsrestore: media label: "boot-sda1" xfsrestore: file system id: 02c76feb-497b-4167-8e72-f8b81a79dbf9 xfsrestore: session id: 6c2c5768-7389-46be-ab7b-11ceaf19c2b5 xfsrestore: media id: dc813998-6f28-4686-96c2-d844525cecff xfsrestore: using online session inventory xfsrestore: searching media for directory dump xfsrestore: reading directories xfsrestore: 2 directories and 24 entries processed xfsrestore: directory post-processing xfsrestore: restoring non-directory files xfsrestore: restore complete: 0 seconds elapsed xfsrestore: Restore Summary: xfsrestore: stream 0 /dump/grub2_grub.cfg OK (success) xfsrestore: Restore Status: SUCCESS [root@xuexi sdb1]# ls grub2 passwd test [root@xuexi sdb1]# tree /sdb1/ /sdb1/ ├── grub2 │ └── grub.cfg ├── passwd └── test └── a 2 directories, 3 files
注意:
[root@xuexi sdb1]# xfsrestore -f /dump/grub2_grub.cfg -s grub2/grub.cfg /sdb1/
[root@xuexi sdb1]# xfsrestore -f /dump/grub2_grub.cfg -s grub2 /sdb1/
這兩個命令相同效果
(4).增量備份
開始之前看一下備份目錄
[root@xuexi sdb1]# tree /sdb1/ /sdb1/ ├── grub2 │ └── grub.cfg ├── passwd └── test └── a 2 directories, 3 files
1) 進行第一次完整備份
[root@xuexi sdb1]# xfsdump -f /dump/full_backup /sdb1 -L full_backup_sdb1 -M sdb1 xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsdump: level 0 dump of xuexi:/sdb1 xfsdump: dump date: Fri Dec 28 16:54:44 2018 xfsdump: session id: d3809f53-bc01-4138-afd1-98e436fbc48a xfsdump: session label: "full_backup_sdb1" xfsdump: ino map phase 1: constructing initial dump list xfsdump: ino map phase 2: skipping (no pruning necessary) xfsdump: ino map phase 3: skipping (only one dump stream) xfsdump: ino map construction complete xfsdump: estimated dump size: 34688 bytes xfsdump: creating dump session media file 0 (media 0, file 0) xfsdump: dumping ino map xfsdump: dumping directories xfsdump: dumping non-directory files xfsdump: ending media file xfsdump: media file size 32312 bytes xfsdump: dump size (non-dir files) : 7744 bytes xfsdump: dump complete: 0 seconds elapsed xfsdump: Dump Summary: xfsdump: stream 0 /dump/full_backup OK (success) xfsdump: Dump Status: SUCCESS
2) 進行第一次增量備份
注意:-l [備份級別],設置備份級別
[root@xuexi sdb1]# touch /sdb1/{1.txt,2.txt} //新增兩個文件 [root@xuexi sdb1]# tree /sdb1/ /sdb1/ ├── 1.txt ├── 2.txt ├── grub2 │ └── grub.cfg ├── passwd └── test └── a 2 directories, 5 files [root@xuexi sdb1]# xfsdump -l 1 -f /dump/incremental_backup1 /sdb1 -L incremental_backup1_sdb1 -M sdb1 xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsdump: level 1 incremental dump of xuexi:/sdb1 based on level 0 dump begun Fri Dec 28 16:54:44 2018 xfsdump: dump date: Fri Dec 28 16:59:54 2018 xfsdump: session id: 0dd47814-2901-4301-99dc-5203e9a3dac0 xfsdump: session label: "incremental_backup1_sdb1" xfsdump: ino map phase 1: constructing initial dump list xfsdump: ino map phase 2: pruning unneeded subtrees xfsdump: ino map phase 3: skipping (only one dump stream) xfsdump: ino map construction complete xfsdump: estimated dump size: 21440 bytes xfsdump: creating dump session media file 0 (media 0, file 0) xfsdump: dumping ino map xfsdump: dumping directories xfsdump: dumping non-directory files xfsdump: ending media file xfsdump: media file size 22704 bytes xfsdump: dump size (non-dir files) : 0 bytes xfsdump: dump complete: 0 seconds elapsed xfsdump: Dump Summary: xfsdump: stream 0 /dump/incremental_backup1 OK (success) xfsdump: Dump Status: SUCCESS
3) 進行第二次增量備份
[root@xuexi sdb1]# touch /sdb1/test/a.txt /sdb1/b.txt [root@xuexi sdb1]# tree /sdb1/ /sdb1/ ├── 1.txt ├── 2.txt ├── b.txt ├── grub2 │ └── grub.cfg ├── passwd └── test ├── a └── a.txt 2 directories, 7 files [root@xuexi sdb1]# xfsdump -l 2 -f /dump/incremental_backup2 /sdb1 -L incremental_backup2_sdb1 -M sdb1 xfsdump: using file dump (drive_simple) strategy xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsdump: level 2 incremental dump of xuexi:/sdb1 based on level 1 dump begun Fri Dec 28 16:59:54 2018 xfsdump: dump date: Fri Dec 28 17:05:21 2018 xfsdump: session id: 6d59a61c-5e5b-476d-ac8d-07b7610355ae xfsdump: session label: "incremental_backup2_sdb1" xfsdump: ino map phase 1: constructing initial dump list xfsdump: ino map phase 2: pruning unneeded subtrees xfsdump: ino map phase 3: skipping (only one dump stream) xfsdump: ino map construction complete xfsdump: estimated dump size: 21760 bytes xfsdump: creating dump session media file 0 (media 0, file 0) xfsdump: dumping ino map xfsdump: dumping directories xfsdump: dumping non-directory files xfsdump: ending media file xfsdump: media file size 23400 bytes xfsdump: dump size (non-dir files) : 0 bytes xfsdump: dump complete: 0 seconds elapsed xfsdump: Dump Summary: xfsdump: stream 0 /dump/incremental_backup2 OK (success) xfsdump: Dump Status: SUCCESS
4) 恢復
步驟:
1.先恢復完整備份
2.如果兩次備份都是1級的,那么只需要恢復最后一次增量備份;但如果第一次是1級備份,第二次是2級備份,那么需要先恢復完整備份,然后恢復1級備份,最后2級備份
實際操作:
刪除,測試恢復
[root@xuexi sdb1]# rm -rf /sdb1/*
先恢復完整備份
[root@xuexi sdb1]# xfsrestore -f /dump/full_backup /sdb1/ xfsrestore: using file dump (drive_simple) strategy xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsrestore: searching media for dump xfsrestore: examining media file 0 xfsrestore: dump description: xfsrestore: hostname: xuexi xfsrestore: mount point: /sdb1 xfsrestore: volume: /dev/sdb1 xfsrestore: session time: Fri Dec 28 16:54:44 2018 xfsrestore: level: 0 xfsrestore: session label: "full_backup_sdb1" xfsrestore: media label: "sdb1" xfsrestore: file system id: 1eccfe79-a9eb-4f09-83c1-f28aa64db1ce xfsrestore: session id: d3809f53-bc01-4138-afd1-98e436fbc48a xfsrestore: media id: 3f4eeb44-b277-4df8-a7ba-de162e8a5c3e xfsrestore: using online session inventory xfsrestore: searching media for directory dump xfsrestore: reading directories xfsrestore: 3 directories and 5 entries processed xfsrestore: directory post-processing xfsrestore: restoring non-directory files xfsrestore: restore complete: 0 seconds elapsed xfsrestore: Restore Summary: xfsrestore: stream 0 /dump/full_backup OK (success) xfsrestore: Restore Status: SUCCESS [root@xuexi sdb1]# tree /sdb1/ /sdb1/ ├── grub2 │ └── grub.cfg ├── passwd └── test └── a 2 directories, 3 files
恢復1級備份
[root@xuexi sdb1]# xfsrestore -f /dump/incremental_backup1 /sdb1/ xfsrestore: using file dump (drive_simple) strategy xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsrestore: searching media for dump xfsrestore: examining media file 0 xfsrestore: dump description: xfsrestore: hostname: xuexi xfsrestore: mount point: /sdb1 xfsrestore: volume: /dev/sdb1 xfsrestore: session time: Fri Dec 28 16:59:54 2018 xfsrestore: level: 1 xfsrestore: session label: "incremental_backup1_sdb1" xfsrestore: media label: "sdb1" xfsrestore: file system id: 1eccfe79-a9eb-4f09-83c1-f28aa64db1ce xfsrestore: session id: 0dd47814-2901-4301-99dc-5203e9a3dac0 xfsrestore: media id: dc9c4bed-671c-4199-9660-31b6a3c560b7 xfsrestore: using online session inventory xfsrestore: searching media for directory dump xfsrestore: reading directories xfsrestore: 1 directories and 5 entries processed xfsrestore: directory post-processing xfsrestore: restoring non-directory files xfsrestore: restore complete: 0 seconds elapsed xfsrestore: Restore Summary: xfsrestore: stream 0 /dump/incremental_backup1 OK (success) xfsrestore: Restore Status: SUCCESS [root@xuexi sdb1]# tree /sdb1/ /sdb1/ ├── 1.txt ├── 2.txt ├── grub2 │ └── grub.cfg ├── passwd └── test └── a 2 directories, 5 files
恢復2級備份
[root@xuexi sdb1]# xfsrestore -f /dump/incremental_backup2 /sdb1/ xfsrestore: using file dump (drive_simple) strategy xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control xfsrestore: searching media for dump xfsrestore: examining media file 0 xfsrestore: dump description: xfsrestore: hostname: xuexi xfsrestore: mount point: /sdb1 xfsrestore: volume: /dev/sdb1 xfsrestore: session time: Fri Dec 28 17:05:21 2018 xfsrestore: level: 2 xfsrestore: session label: "incremental_backup2_sdb1" xfsrestore: media label: "sdb1" xfsrestore: file system id: 1eccfe79-a9eb-4f09-83c1-f28aa64db1ce xfsrestore: session id: 6d59a61c-5e5b-476d-ac8d-07b7610355ae xfsrestore: media id: daf6acdb-921f-437e-a33b-538e47c0ca1a xfsrestore: using online session inventory xfsrestore: searching media for directory dump xfsrestore: reading directories xfsrestore: 2 directories and 8 entries processed xfsrestore: directory post-processing xfsrestore: restoring non-directory files xfsrestore: restore complete: 0 seconds elapsed xfsrestore: Restore Summary: xfsrestore: stream 0 /dump/incremental_backup2 OK (success) xfsrestore: Restore Status: SUCCESS [root@xuexi sdb1]# tree /sdb1/ /sdb1/ ├── 1.txt ├── 2.txt ├── b.txt ├── grub2 │ └── grub.cfg ├── passwd └── test ├── a └── a.txt 2 directories, 7 files
(5).擴展:
完整備份:每次都將所有數據(不管自第一次備份以來有沒有修改過),進行一次完整的復制,備份后會清除文件的存檔屬性,方便日后增量備份或者差異備份進行版本比較。
特點:占用空間大,備份速度慢,但恢復時一次恢復到位,恢復速度快。
增量備份:在第一次完整備份之后,第二次開始每次都將添加了存檔屬性的文件進行備份,並且在備份之后再把這些存檔屬性清除。為什么要清除存檔屬性呢?這就是為了下一次備份的時候判斷是否有文件變化,因為用戶在每次備份以后修改這些被清除存檔屬性的文件,存檔屬性就會自動加上,相當於用戶告訴系統,這些文件有變化,你下一次就備份這些文件,其他沒有存檔屬性的就不需要備份,這就是增量備份的工作機制。
類比:相當於機器人把地板打掃干凈了,你踩過,就會有腳印(增加標記),下次機器人就把腳印記錄下來,並且把腳印打掃干凈(清除標記),始終保持地板干凈。機器人每次記錄並打掃的腳印就相當於每次增量備份的內容
特點:因每次僅備份自上一次備份(注意是上一次,不是第一次)以來有變化的文件,所 以備份體積小,備份速度快,但是恢復的時候,需要按備份時間順序,逐個備份版本進行恢復,恢復時間長。
差異備份:在第一次完整備份之后,第二次開始每次都將所有文件與第一次完整備份的文件做比較,把自第一次完整備份以來所有修改過的文件進行備份,且以后每次備份都是和第一次完整備份進行比較(注意是第一次,不是上一次),備份自第一次完整備份以來所有的修改過的文件。因此,差異備份在備份完畢之后不需要清除文件的存檔屬性,因為這些文件和下一次備份沒有什么關系,它僅僅和第一次完整備份的數據進行比較(第一次完整備份之后是清除存檔屬性的)。
類比:相當於第一次機器人把地板打掃干凈了,你踩過,就會有腳印,機器人就把腳印記錄下來,但不打掃,下次你又有踩臟的,機器人就把你這幾次所有踩臟的地方都記錄下來,始終不打掃,每次都這樣。機器人每次記錄的內容就相當於差異備份的內容
特點:占用空間比增量備份大,比完整備份小,恢復時僅需要恢復第一個完整版本和最后一次的差異版本,恢復速度介於完整備份和增量備份之間。
簡單的講,完整備份就是不管三七二十一,每次都把指定的備份目錄完整的復制一遍,不管目錄下的文件有沒有變化;增量備份就是每次將之前(第一次、第二次、直到前一次)做過備份之后有變化的文件進行備份;差異備份就是每次都將第一次完整備份以來有變化的文件進行備份。
舉例:
假設指定備份目錄周一包含A、B、C三個文件。周一的時候,做了完整備份。周二新增了D文件,同時A文件發生變化,變成A1文件;周三新增了E文件,同時A文件變成了A2,B文件變成B1;周四新增了F文件,A2變成了A3,D變成了D1,同時刪掉了C文件。
不同備份方式下的備份情況(假設每天做一次備份):
完整備份:周一,備份ABC三個文件;周二,備份A1、B、C、D四個文件;周三,備份A2、B1、C、D、E五個文件;周四,備份A3、B1、D1、E、F五個文件。
增量備份:周一,備份ABC三個文件,完整備份;周二,備份與周一相比有變化的文件,即備份A1和D兩個文件;周三,備份與之前所有版本相比有變化的文件,即備份A2,B1,E三個文件;周四,備份與之前所有版本相比有變化的文件,即備份A3,D1,F三個文件並刪除C。
差異備份:周一,備份ABC三個文件,完整備份;周二,備份與周一相比有變化的文件,即備份A1和D兩個文件;周三,備份與周一相比有變化的文件,即備份A2、B1、D、E四個文件;周四,備份與周一相比有變化的文件,即備份A3、B1、D1、E、F五個文件並刪除C。