原文地址为:http://tw.msnusers.com/Linuxstepbystep/page20.msnw
檔案備份
Linux 作業系統備份的方法
備份方法 : 利用 Ghost 作備份
欲利用 Ghost 來備份 Linux 平台, 應先了解您拿到的 Ghost 版本, 以及各版本支援 Linux 檔案系統的程度為何?
這其中還牽涉到開機程式 LILO 及 GRUB 的支援及復原問題. 換言之, 欲成功備份及還原 Linux 平台, 應該針對 "檔案系統"
及 "多重開機程式" 這二個部份來處理.
以下是 Ghost 各版本支援 Linux 檔案系統的情形:
http://service1.symantec.com/SUPPORT/IN ... enDocument
Ghost 版本
Ghost 2003
Symantec Ghost 7.5
Ghost 2002
Symantec Ghost 7.0
支援 sector 對拷
支援
支援
支援
支援
支援 EXT2
支援
支援
支援
支援
支援 EXT3
支援
支援
不支援
不支援
......
目前我使用的是 Ghost 7.5 , 這個版本皆支援 Linux 最新的檔案系統 ext3 以及 LILO 多重開機程式的復原. 但是不支援 GRUB 的備份.
note:
Ghost 7.5 能正常備份 LILO 但 GRUB 並不行.
所以要等備份完成後,用原開機磁片開機, 再下 grub-install /dev/hda的指令, 即可把 GRUB 再安裝回 MBR 中.
Ghost 8.0 已經能備份 GRUB 了.
MBR 預設是無法備份的,所以記得在使用 ghost 備份程式時要將“Options / Image Tape /Image Boot”標記起來,這樣 ghost 才會幫我們將 MBR 備份起來.
至於如何備份, 這個過程和您在 Windows平台上的做法相差不遠. 簡述如下:
做一片 Windows 的開機片, 內含 Ghost 主程式以及網路驅動程式.
以此開機片開機
接下來操作的過程和 Windows 平台一樣.
至於還原的方法, 也是和 Windows 平台相同.
如果你沒有 Ghost Server,另外介紹一個 Linux 好用的類似 Ghost Server.
http://www.feyrer.de/g4u/
資料備份的方法
方法使用 tar 及壓縮程式
這個方法是許多人愛用的方式之一.
假設我們只需要備份 /var/ftp 和 /tftpboot 這個目錄,
可以如此做:
#tar czvf ftp.tar /var/ftp
#tar zcvf tftp.tar /tftpboot
若要打包之後, 再行壓縮, 可加個 z 選項
其中 c 是開設一個新檔, f 是指定檔名之意
若要詳細顯示, 可多加個 v 選項: tar cvf ftp.tar /var/ftp
對於備份檔應該加註日期, 這個可以透過 date +時間格式 這個指令達成, 比如:
#tar cvf ftp.`date +%F`.tar /var/ftp
#tar zcvf tftp.`date +%F`.tar /tftpboot
結果可能會得到 : ftp.2004-10-15.tar 檔案
您也可以這麼做:
記錄本次備份(第一次全部備份)之時間: touch new.lst
下次備份 /var/ftp 和 /tftpboot 目錄時, 不全部備份, 只備份異動檔, 方法如下:
#find /etc -cnewer new.lst > diff.lst
#tar zcvf ftp.`date +%F`.tar -T diff.lst
記錄本次備份之時間: touch diff.lst
下次備份時再重覆上述步驟.
當然, 您應該利用 shell script 及 crontab 這二個工具, 將您上述的動作把它自動化, 最好是在備份好之後, 還能自動再寄一封通知 email 到您指定的信箱去.
shell script
下面是我自己寫的 Full Backup 程式
#vi /root/backup.sh
#! /bin/bash
mkdir -p /backup/`date +%F`
find /var/ftp/* > /backup/`date +%F`/new.lst
tar cvzf /backup/`date +%F`/ftp.`date +%F`.tar.gz /var/ftp
tar cvzf /backup/`date +%F`/tftp.`date +%F`.tar.gz /tftpboot
rm -f /backup/*
mv /backup/`date +%F`/* /backup
rmdir /backup/`date +%F`
以及 implement Backup 程式
#vi /root/diff.sh
#!/bin/bash
if [ -f /backup/new.lst ];then
rm -f /backup/diff.lst
find /var/ftp/* -cnewer /backup/new.lst > /backup/diff.lst
tar cvzf /backup/ftp.diff.`date +%F`.tar.gz -T /backup/diff.lst
else
rm -rf /backup/*
find /var/ftp/* > /backup/new.lst
tar cvzf /backup/ftp.`date +%F`.tar.gz /var/ftp
tar cvzf /backup/tftp.`date +%F`.tar.gz /tftpboot
fi
crontab
#crontab –e
0 2 1 * * backup.sh
0 6 * * 6 diff.sh
我們的備份策略為每個月的一號做 full back
而每星期六做只備份異動檔
.....
注意:Microsoft 對於這個社群中的內容不負任何責任。按這裡讀取詳細資料