Group: Linux/Unix

Linux备份
刘兆锋 | Oct 31, 2007 3:26:31 PM

我最近在研究Linux的一些功能,常常玩壞系統,所以備份也就顯得相當重要
我把我的備份辦法整理如下:


作者: Jay 於 2007/7/12 23:21:39             摘自http://www.ubuntu.org.twUbuntu 正體中文站 討論區

*為何要備份
   電腦的硬碟是一個很脆弱的東西,什麼時後會壞掉,誰也不知道。當硬碟壞掉的時候,如果裡面有重要的資料,
 就會在一瞬間完全消失掉,如果當初有備份的話,那資料就可以回來了。如果某一天,你在玩Linux的時候,不小心
 失手把硬碟整顆格式化的時候,你寶貴的資料也會消失,若要搶救回來可能要花很久的時間去研究才行。某一天,駭
 客入侵了你的電腦,把你的資料全部刪除掉,你的資料就不見了,如果裡面有你從小到大的相片或是一些你辛苦寫的
 程式、文件都被駭客給刪除的話,那不是很嚴重嗎?所以一定要定期備份資料,才能避免悲劇發生。

*備份策略
 備份策略我分成兩類
 一、完整備份系統:將所有的檔案備份起來,包括設定檔、核心檔案以及文件。
   備份除了 /dev /media /mnt /proc /tmp /cdrom 以外的資料。

 二、備份重要檔案:把私人文件、相片等檔案備份起來。
   備份 /home 裡的檔案,以及相關文件。

 這兩種被分策略是在一般家用電腦最常見的,等一下我們會討論這兩種備份方式。

*選擇備份的裝置
   若要選擇備份裝置,我的建議是,備份整個系統選擇使用硬碟,備份重要檔案選擇光碟,因為整個系統很大,若
 要使用光碟的話可能會裝不下。若你要保留一年內的備份資料,建議用較大的硬碟會比較好,別用只有20GB的硬碟,
 否則空間會不夠大喔!

*備份方法
  cpio 這個工具是最適合備份的工具了,除了可以備份一般檔案外,還可以備份裝置檔等,功能很強,還原也很方
  便,不過需要配合find指令協助備份。
  tar 也是可以備份,但功能沒有比 cpio 強就是了。
  cp 不建議,因為 cp 是將整個資料夾複製到別的地方,壓縮不方便。

*以cpio來進行備份與還原
 一、完整備份系統:(請以系統管理員與單人單工維護模式進行)
  > mount /dev/sda1 /media/disk <- 掛載要存入的裝置
  > find / | egrep -v '^/dev|^/media|^/mnt|^/proc|^/tmp|^/cdrom' \
   | cpio -covB | gzip -c - > /media/disk/linux.gz <-開始備份

 二、完整還原系統:(請以系統管理員與單人單工維護模式進行)
  > mount /dev/sda1 /media/disk <- 掛載要還原的資料所在的地方
  > gzip -dc /media/disk/linux.gz | cpio -icduv <- 開始還原

 三、備份部份資料:(請以系統管理員與單人單工維護模式進行)
  > mount /dev/sda1 /media/disk <- 掛載要存入的裝置
  > find /home | cpio -covB | gzip -c - > /media/disk/linux.gz <-開始備份 /home

 四、還原部份資料:(請以系統管理員與單人單工維護模式進行)
  > mount /dev/sda1 /media/disk <- 掛載要還原的資料所在的地方
  > gzip -dc /media/disk/linux.gz | cpio -icduv <- 開始還原


  以上為範例,請勿照抄。


 五、cpio 使用方法:
  -i : 還原至硬碟
  -o : 備份硬碟
  -c : 以較新的格式儲存
  -v : 備份過程中顯示檔案
  -B : 讓預設為 512 bytes 的 Blocks 增加到 5120 bytes!
  -d : 自動建立目錄(用於還原的時候)
  -u : 自動將較新的檔案覆蓋至較舊的檔案

  註一:可先使用 chroot 的方式模擬小型的 Linux 來練習。
  註二:以上為範例,不一定要使用gzip壓縮

  使用建議:使用 cpio 備份前,先把不要的檔案刪除以節省空間。

*附錄:使用 chroot 的方法
 chroot 是一個好用的工具,可以模擬出一個安全的基本系統,就算在裡面亂搞亂玩,也不會出事。
 一、簡述步驟:
  步驟一:安裝 Debootstrap 。
  步驟二:使用 Debootstrap 建立基本系統。
  步驟三:設定基本系統設定值
  步驟四:使用 chroot 進入系統。
  步驟五:調整系統。

 二、詳細步驟:
  > sudo apt-get install debootstrap <- 安裝 debootstrap 套件
  > sudo /usr/bin/env -i HOME=/root \
   PATH=/bin:/usr/bin:/sbin:/usr/sbin /usr/sbin/debootstrap \
    --arch i386 sarge chroot \
   http://tw.archive.ubuntu.com/ubuntu <- 建立基本系統
   #你可以在這邊對你的系統進行更改
  > sudo cp /etc/apt/sources.list ./chroot/etc/apt/ <- 拷貝套件來源
  > sudo chroot ./chroot
 
   #恭喜你,已經進入了另一個系統了,開始進行系統調校。執行 exit 即可離開。

*參考資料
 備份的部份:鳥哥的Linux私房蔡 http://linux.vbird.org/
 chroot的部份:DebianWiki http://wiki.debian.org.tw/index.php/chroot


*本人只是一個Linux 初學者,請多指教。





Comment: (no reply)
To post your comment, Please login first.