歡迎您光臨本站 註冊首頁

Linux下的備份與還原

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

剛開始用linux操作系統時安裝在VM中,做個快照,一出問題馬上還原快照,在實際生產環境中,是不可能把linux安裝在虛擬機中的,那麼我們就需要學習備份!放個蛤蟆在上面哈哈.
先從最簡單的來,我個人學習方法是在linux中的操作要像windows中一樣.
一、先提供個工具G4L.下載地址:http://sourceforge.net/projects/g4l/
格式為ISO鏡像文件,我們可以將他刻錄在光碟上使用,這個實驗在虛擬機中進行.
我們需要將Hard Disk(IDE)15G的母盤整盤拷貝到Hard Disk2(IDE)15G子盤中.

我們將g4l的ISO鏡像掛載到虛擬機的光碟機中,啟動虛擬機,設置BIOS為光碟驅動,進入g4l的界面.這個版本不同,也可能有些差別.

選擇載入的鏡像,我們選擇默認的bzImage6.

各種版權信息我們一路exit,直到

輸入命令./g4l進入g4l的軟體工作界面

進入主目錄,我們選擇第一項:

在RAW模式下,我們選擇克隆功能

我們選擇母盤,這裡一定要看好,一定要注意,否則刻反了就啥也沒有了......



然後選擇目標子盤

選擇進行克隆

然後有個確認信息,確認就可以


克隆時像這樣:

克隆完成後,就可以將母盤撤下,啟動子盤查看是否成功!
當然,我們也可以選擇網路克隆,多用於區域網中使用

這裡就得選擇network use

下面介紹第二種方法,是linux自帶的方法使用dd命令
使用dd/dev/hdb下的數據備份到/dev/hdc

這裡我們指定bs的大小,默認為512K
然後等待數分鐘直到備份完成.這是一個非常漫長的過程

如果系統遭到破壞,那麼我們除了可以使用救援模式來修復,我們還可以使用dd命令將系統還原回來.


使用images/boot.iso, 進入rescue模式,然後運行以下命令:

dd if=/dev/hdc of=/dev/hdb


這樣,系統就恢復回來了,當然我們也可以設置硬碟啟動為hdc,直接啟動第二塊硬碟上的系統.

我們還可以參考 300second

大哥的帖子,linux下備份分區表和MBR:

http://bbs.51cto.com/thread-807988-1.html

第三種方法,恢復文件系統,非恢復整個系統
有時候,只是一個分區的損壞,那麼我們沒有必要去恢復整個系統.我們可以使用tar命令
tar的參數,我們引用
300second大哥的解釋
tar打包壓縮
下面是tar 打包工具,這個就是備份用的了,用於在磁帶機、軟盤、ZIP設備上做備份.也可以備份在一個硬碟文件上.
主要參數:
c:將文件備份出來
v:將過程輸出
x:從一個文件中解出備份
t:顯示tar文件的內容
T:從指定的文件中讀取文件
r:在tar文件尾部追加文件
z:用gzip壓縮或解壓文件
j:用bz2壓縮或解壓文件
f:使用tar文件而不是設備
p:在備份時壓縮與解壓時保持文件的許可權

如我們需要將boot分區備份到root家目錄
tar -cvzpf /root/boot.tar.gz /boot/*
這裡一定要加p,保留許可權,否則無法啟動系統
下面我們做一些小的破壞!

重啟
我們就發現系統無法使用了,這時我們進入救援模式,恢復boot下的文件,經過設置語言,鍵盤




我們進入Linux救援模式,救援模式詳細實驗,請參照redking大哥的http://redking.blog.51cto.com/27212/119409學習.
那個,我接著寫哈
將/root/boot.tar.gz解壓回/boot下
tar -xvzf boot.tar.gz /boot
重啟系統,如果重啟系統后顯示為booting from local disk,則需要進入救援模式修復grub

然後重啟系統,系統就可以啟動起來了
我這個實驗最開始是在虛擬機中進行的,刪除/boot分區下所有文件后,系統居然還能起來!沒辦法換到物理機下就好了......所以學習嘛,你得有點奉獻精神!

下面介紹一種我知道的方法
備份工具:dump,還原工具restore.
dump命令可以對磁碟設備或者目錄做備份.dump備份磁碟設備時可以指定備份等級,等級0代表常規備份,等級1~等級9代表9個增量備份.增量備份文件是新文件,不可與常規備份共用備份文件.備份目錄時不可以指定0以外的級別,所有的目錄只能是常規備份,且備份目錄操作不支持-u記錄.

restore命令可以對磁碟設備或者目錄進行還原操作.還原操作時指定還原文件,且執行 restore命令時在需要還原的目錄下進行.還原文件過程是先常規備份,再增量備份.


#dump [-Suvj] [-level] [-f 備份文件名] 待備份資料


-S
列出需要的備份設備空間


-u
將此次備份信息寫入/etc/dumpdates


-v
顯示備份過程


-j
調用bzip2進行壓縮,默認壓縮等級為2,可指定更高,最高為9


-level
備份等級,0~910個等級(增量備份)


-f
備份文件名稱,可以是備份設備名

#dump -W

該命令根據/etc/dumpdates列出前系統中所有需要備份的磁碟備份情況


#dump -w

該命令根據/etc/dumpdates僅列出當前系統中需要備份的磁碟備份情況





#restore -t [-f
備份文件名]


查看備份文件的內容


#restore -C [-f
備份文件名] [-D 掛載點]


比較備份文件和當前系統掛載點的差異


#restore -r [-f
備份文件名]


從備份文件中還原整個文件系統


#restore -i [-f
備份文件名]


進入還原交互模式,在此模式下對目錄進行還原操作

如果系統中沒有這兩個工具,則需要掛載光碟安裝,安裝方式可以選擇rpm和Yum
下面將/boot分區備份

現在刪除/boot下文件,重啟進入救援模式進行恢復, 恢復的時候要注意,一定要進入被還原目錄或分區后在執行restore命令

重啟系統
系統就可以啟動起來了
備份目錄
備份目錄/boot/grub到/backup/目錄下,備份的文件名為grub.dump
[root@example ~]# dump -0 -f /backup/grub.dump /boot/grub
注意:由於備份子目錄/boot/grub,所以不能使用-u參數,同時-level(備份級別:0-9)中,也只有-0能用在備份子目錄
還原目錄
[root@example ~]# restore -rf /backup/grub.dump /boot/grub

本文出自 「王小哥的技術博客」 博客,請務必保留此出處http://ckfwy.blog.51cto.com/1536812/866568


[火星人 ] Linux下的備份與還原已經有434次圍觀

http://coctec.com/docs/linux/show-post-45947.html