13.6 Linux dump
在系統學習 dump 命令之前,由于 CentOS 6.x 系統默認是沒有安裝此命令的,因此需要我們手動安裝 dump 命令,安裝命令如下:
[root@localhost ~]# yum -y install dump
dump 命令使用“備份級別”來實現增量備份,它支持 0~9 共 10 個備份級別。其中,0 級別指的就是完全備份,1~9 級別都是增量備份級別。
舉個列子,當我們備份一份數據時,第一次備份應該使用 0 級別,會把所有數據完全備份一次;第二次備份就可以使用 1 級別了,它會和 0 級別進行比較,把 0 級別備份之后變化的數據進行備份;第三次備份使用 2 級別,2 級別會和 1 級別進行比較,把 1 級別備份之后變化的數據進行備份,以此類推。
需要注意的是,只有在備份整個分區或整塊硬盤時,才能支持 1~9 的增量備份級別;如果只是備份某個文件或不是分區的目錄,則只能使用 0 級別進行完全備份。
dump 命令的基本格式如下:
[root@localhost ~]# dump [選項] 備份之后的文件名 原文件或目錄
選項:
-level:就是我們說的 0~9 共 10 個備份級別;
-f 文件名:指定備份之后的文件名;
-u:備份成功之后,把備份時間、備份級別以及實施備份的文件系統等信息,都記錄在 /etc/dumpdates 文件中;
-v:顯示備份過程中更多的輸出信息;
-j:調用 bzlib 庫壓縮備份文件,其實就是把備份文件壓縮為 .bz2 格式,默認壓縮等級是 2;
-W:顯示允許被 dump 的分區的備份等級及備份時間;
dump 命令是一個較為復雜的命令,如果我們只是想要實現數據的備份與恢復,那么掌握以上幾個選項就足夠了。
備份分區
我們先來看看如何使用 0 級別備份分區。命令如下:
[root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 20G 3.0G 16G 17% / tmpfs 30 6M 0 30 6M 0% /dev/shm /dev/sda1 194M 26M 158M 15% /boot /dev/sr0 3.5G 3.5G 0 100% /mnt/cdrom \#系統中我們就分了/分區和/boot分區。根分區太大,備份速度太慢,我們還是備份/boot分區吧 [rootSlocalhost ~]# dump -0uj -f /root/boot.bak.bz2 /boot/ \#備份命令。先執行一次完全備份,并壓縮和更新備份時間 DUMP: Date of this level 0 dump: Wed Jun 5 03:08:22 2013 \#備份的級別和時間 DUMP: Dumping /dev/sdal (/boot) to /root/boot.bak.bz2 \#備份源和目標 DUMP: Label: none \#分區沒有卷標 DUMP: Writing 10 Kilobyte records DUMP: Compressing output at compression level 2 (bzlib) \#備份時壓縮 DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 21846 blocks. DUMP: Volume 1 started with block 1 at: Wed Jun 5 03:08:22 2013 DUMP: dumping (Pass III) [directories] \#開始dump 備份 DUMP: dumping (Pass XV) [regular files] DUMP: Closing /root/boot.bak.bz2 \#備份結朿,生成備份文件 DUMP: Volume 1 completed at: Wed Jun 5 03:08:30 2013 DUMP: Volume 1 took 0:00:08 DUMP: Volume 1 transfer rate: 2370 kB/s DUMP: Volume 1 21930kB uncompressed, 18962kB compressed, 1.157:1 \#數據容量 DUMP: 2X930 blocks (21.42MB) on 1 volume(s) DUMP: finished in 7 seconds, throughput 3132 kBytes/sec DUMP: Date of this level 0 dump: Wed Jun 5 03:08:22 2013 DUMP: Date this dump completed: Wed Jun 5 03:08:30 2013 DUMP: Average transfer rate: 2370 kB/s DUMP: Wrote 21930kB uncompressed, 18962kB compressed, 1.157:1 [root@localhost ~]# cat /etc/dumpdates \#查看備份時間文件 /dev/sdal 0 Wed Jun 5 03:08:22 2013 +0800 \#備份的分區 備份級別 備份曰期 [root@localhost @]# 11 -h /root/boot.bak.bz2 -rw-r--r--. 1 root root 19M 6 月 5 03:08 /root/boot.bak.bz2 \#備份文件生成了
如果 /boot 分區的內容發生了變化,則可以使用 1 級別進行增量備份。當然,如果數據會繼續發生變化,則可以繼續使用 2~9 級別增量備份。命令如下:
[root@localhost ~]# ll -h /root/install.log -rw-r--r--.1 root root 25K 4月 10 21:49 /root/install.log \#查看安裝軟件包日志的大小為25KB [root@localhost ~]# cp install.log /boot/ \#復制日志文件到/boot分區 [root@localhost ~]# dump -1uj -f /root/boot.bak1.bz2 /boot/ \#增量備份/boot分區,并壓縮 [root@localhost ~]# ll -h boot.bak* -rw-r--r--.1 root root 18K 6月 5 03:16 boot.bak1.bz2 -rw-r--r--.1 root root 19M 6月 5 03:08 boot.bak.bz2 \#boot.bak1.bz2壓縮文件只有18KB,證明增量備份只備份了0級別以后變化的數據 \#boot.bak1.bz2壓縮文件只有18KB,證明增量備份只備份了0級別以后變化的數據
如果備份的是整個分區,那么是可以使用“dump -W”命令來查詢分區的備份時間及備份級別的。不過要注意,如果備份時沒有使用“-u”選項,那么“dump -W”命令是不會記錄備份的時間和級別的。命令如下:
[root@localhost ~]# dump -W Last dump(s) done (Dump '>' file systems): /dev/sda3 ( /) Last dump:Level 1, Date Wed Jun 5 02:31:50 2013 /dev/sda1 ( /boot) Last dump:Level 1, Date Wed Jun 5 03:16:27 2013 \#我的/分區和/boot分區都進行過dump備份,/boot分區的最新備份級別是1
dump命令可以非常方便地實現增量備份,但是如何實現差異備份呢?其實也很簡單,先使用 0 級別完全備份一次,以后的每次備份都使用 1 級別進行備份。
備份文件或目錄
dump 命令也可以文件或目錄,不過,只要不是備份分區,就只能使用 0 級別進行完全備份,而不再支持增量備份。同時,不能使用“-u”選項更新分區的備份時間,當然也不能使用“dump -W”命令查詢到文件或目錄的備份。
我們說 /etc/ 目錄是重要的配置文件目錄,那么我們就備份這個目錄來看看吧。命令如下:
[root@localhost ~]# dump -0j -f /root/etc.dump.bz2 /etc/ \#完全備份/etc/目錄 [root@localhost ~]# ll -h /root/etc.dump.bz2 -rw-r--r--.1 root root 8.6M 6月 5 03:26 /root/etc.dump.bz2 \#查看備份文件 不過,如果使用增量備份會怎么樣呢?命令如下: [root@localhost ~]# dump -1j -f /root/etc.dump1.bz2 /etc/ DUMP:Only level 0 dumps are allowed on a subdirectory DUMP:The ENTIRE dump is aborted. \#備份失敗了,目錄備份只能使用0級別
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。