這幾個月以來,因為之前 Linux 掛掉的事件讓我對備份還原更加的謹慎,我一直在尋找一套好用的備份/還原工具,我是希望備份過的資料或系統可以還原到不同的主機,所以我希望在 A 主機備份時,可以還原到不同硬體規格的 B 主機,而且備份的時候必須是 Online 的,也就是在不關機的情況下完成備份程序,但還原的時候要以最短的時間完成還原作業。 我之前試過 mkCDrec 也試過 Mondo Rescue,這兩套都符合我的期望,是我理想中的備份/還原工具,但這兩個備份工具在 Ubuntu 就是一直無法正常運作,這兩套都可以正常備份,但是在還原的時候做到一半就是會掛掉,真不知道該如何是好,如果有人有相關經驗希望可以傳授一下,謝謝! 所以總是沒有找到一個真的讓我十分滿意的備份/還原工具,最後還是決定用最簡單的 tar 來幫我備份資料,以下是我前陣子寫的備份指令(Bash): #!/bin/bash rnd=$RANDOM date=`date +%y%m%d` backup_to="/mnt/backup" echo -n "Today is $date. Writing /tmp/$rnd-exclude-file-list ... " echo "lost+found" > /tmp/$rnd-exclude-file-list echo "/mnt/*" >> /tmp/$rnd-exclude-file-list echo "/media/*" >> /tmp/$rnd-exclude-file-list echo "/proc/*" >> /tmp/$rnd-exclude-file-list echo "/dev/*" >> /tmp/$rnd-exclude-file-list echo "/sys/*" >> /tmp/$rnd-exclude-file-list echo "/tmp/*" >> /tmp/$rnd-exclude-file-list echo "/var/spool/squid/*" >> /tmp/$rnd-exclude-file-list echo "done." echo "" #---------------------------------------------------- datetime=`date "+%Y-%m-%d %H:%M:%S"` echo "Backup job started at $datetime" ##################################################### tar -cf $backup_to/$date-full-backup.tar / --totals --absolute-names --ignore-failed-read --exclude-from=/tmp/$rnd-exclude-file-list if [ "${?}" != 0 ] ; then echo "Backup failed." fi rm -f /tmp/$rnd-exclude-file-list ##################################################### datetime=`date "+%Y-%m-%d %H:%M:%S"` echo "Backup job ended at $datetime" echo "" #---------------------------------------------------- datetime=`date "+%Y-%m-%d %H:%M:%S"` echo "Compressing job started at $datetime" ##################################################### gzip --best --rsyncable $backup_to/$date-full-backup.tar if [ "${?}" != 0 ] ; then echo "Gzip failed." fi gzip --test $backup_to/$date-full-backup.tar.gz if [ "${?}" != 0 ] ; then echo "Check the compressed file integrity failed." fi ##################################################### datetime=`date "+%Y-%m-%d %H:%M:%S"` echo "Compressing job ended at $datetime" 當然有備份就要能想到要如何還原,不然備份就失去了真正的價值了!而我定義的還原策略是如下:
做到這裡系統還原作業就大功告成了,重新開機之後應該可以正常運作。雖然步驟麻煩了些,但至少可以將備份的資料還原到任意主機(包括虛擬機器),所以這也算是保哥的 P2V 解決方案,省時、省事又省錢。 |
|
来自: Alkaid2015 > 《7z.硬碟備分》