基礎命令學習目錄首頁html
原文連接:http://mip.xuexila.com/diannao/xitong/linux/3609675.htmllinux
linux系統下咱們可使用備份命令dump對系統文件進行備份,以避免數據丟失。下面由學習啦小編爲你們整理了linux下備份命令dump的相關知識,但願你們喜歡!centos
linux備份命令dump詳解app
語 法:工具
dump [-cnu][-0123456789][-b <區塊大小>][-B <區塊數目>][-d <密度>][-f < 設備名稱>][-h < 層級>][-s < 磁帶長度>][-T < 日期>][ 目錄或文件系統] 或 dump [-wW]post
補充說明:dump 爲備份工具程序,可將目錄或整個文件系統備份至指定的設備,或備份成一個大文件。學習
參 數:this
-0123456789 備份的層級。url
-b<區塊大小> 指定區塊的大小,單位爲 KB。.net
-B<區塊數目> 指定備份卷冊的區塊數目。
-c 修改備份磁帶預設的密度與容量。
-d<密度> 設置磁帶的密度。單位爲 BPI。
-f<設備名稱> 指定備份設備。
-h<層級> 當備份層級等於或大雨指定的層級時,將不備份用戶標示爲"nodump"的文件。
-n 當備份工做須要管理員介入時,向全部"operator"羣組中的使用者發出通知。
-s<磁帶長度> 備份磁帶的長度,單位爲英尺。
-T< 日期> 指定開始備份的時間與日期。
-u 備份完畢後,在/etc/dumpdates中記錄備份的文件系統,層級,日期與時間等。
-w 與-W 相似,但僅顯示須要備份的文件。
-W 顯示須要備份的文件及其最後一次備份的層級,時間與日期。
linux下dump命令備份步驟
1.建立系統:dd if=icp-centos54-64.img of=lvstest1.img bs=100M
2.建立備份塊:dd if=/dev/zero of=backup.img bs=100M count=100
3.mkfs.ext3 backup.img
4.建立vm系統啓動文件lvstest1.xml
5.啓動VM:virsh create lvstest1.xml
6.進入系統掛載備份塊:mount /dev/sdb /mnt
7.使用命令進行系統備份:dump -0uf /mnt/backup0.dump /
在咱們的系統中 dump 命令是沒有安裝的,因此先安裝一下 dump 命令,安裝命令以下:
[root@localhost ~]# yum -y install dump
在正式介紹 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 -Ouj -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級別
原文連接:http://c.biancheng.net/view/1141.html