共計 3066 個字符,預計需要花費 8 分鐘才能閱讀完成。
這篇文章主要介紹“Linux 系統的備份和恢復方法是什么”,在日常操作中,相信很多人在 Linux 系統的備份和恢復方法是什么問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux 系統的備份和恢復方法是什么”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
tar 命令
副本 (本機備份整個系統,以后還原還是還原到本機)
注意根目錄下要有充足的可用空間用于備份。
cd / #tar.gz 格式 tar cvpzf system_backup.tar.gz / --exclude=/proc --exclude=/lost+found --exclude=/system_backup.tar.gz --exclude=/mnt --exclude=/sys #tar.bz2 格式 tar cvpjf system_backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/system_backup.tar.bz2 --exclude=/mnt --exclude=/sys # 恢復系統 cd / #上傳文件到根目錄下 tar xvpfz system_backup.tar.gz -C / 或 tar xvpfj system_backup.tar.bz2 -C / # 創建備份時排除的目錄 mkdir proc mkdir lost+found mkdir mnt mkdir sys
/proc 權限:文件所有者:root 群組:root 所有者:讀取 執行 群組:讀取 執行 其它:讀取 執行
/lost+found 權限:文件所有者:root 群組:root 所有者:讀取 寫入 執行 群組:讀取 執行 其它:讀取 執行
/mnt 權限:文件所有者:root 群組:root 所有者:讀取 寫入 執行 群組:讀取 執行 其它:讀取 執行
/sys 權限:文件所有者:root 群組:root 所有者:讀取 寫入 執行 群組:讀取 執行 其它:讀取 執行
恢復完成重啟以后,所以的事情都會和你備份的時候一模一樣。
鏡像 (本機備份系統,還原到新主機上)
1. 檢查系統版本,在目標機上安裝一樣版本的系統 (最簡安裝即可), 分區格式,類型也一樣 (我沒試過不一樣的情況,不知道能否成功)
lsb_release -a uname -a df -Th free -h
2. 備份源系統
# 因為目標機和源主機硬件配置不同,所以排除 dev,tmp;再適當增加你要排除的文件,如:--exclude=/root/*.bz2 # 這里再 mnt 下有充足空間,所以保存到 mnt 下。 cd / tar cvpzf /mnt/system_backup.tar.gz / --exclude=/mnt/system_backup.tar.gz \ --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/dev \ --exclude=/tmp --exclude=/media # 上傳到目標主機 scp /mnt/system_backup.tar.gz root@192.168.0.166:/mnt
3, 在目標機上用 ISO、LiveCD 等啟動,掛載磁盤 (一般會自動掛載到 /media 文件夾)
sudo -s cd /media/ 對應的 uuid 號 # 備份重要配置文件 /boot/gurb/gurb.cfg /etc/fstab 記錄里面的 UUID, # 刪除重復文件 # 除了上面備份系統時排除的一些文件夾外,比如說 dev mnt media sys 這些文件夾,其他全部刪除。 rm -rf root home usr lib lib64 etc var bin sbin opt boot run selinux vmlinuz initrd.img # 還原備份 mount /dev/vda1 /mnt/1 # 這里注意千萬不要寫 / 目錄,會把現有的系統搞掛!!!應該是掛載的目錄 tar xvpfz system_backup.tar.gz -C /mnt/1 cd /mnt/1 #此時你可以看到根目錄的結構,但是編輯 fstab 文件發現是現有系統的 fstab chroot ./ # 執行 chroot 后會以./ 目錄為根目錄,這時編輯的文件就是真正的目標源文件了。
還原后修改 /etc/fstab 里的 UUID 為剛剛備份的文件里面的信息,注意分區格式也要對應。修改 /boot/gurb/gurb.cfg 里的 UUID 為剛剛備份的文件里面的信息。修改網卡、IP 配置文件,以防無法分配 IP。(如果是虛擬機記得添加網卡,配置中等性能的顯卡) 如果有依賴于原有平臺的服務,如內建 NTP,Agent 等監控程序; 關閉服務,關閉開機自啟;Ubuntu:在命令行輸入 runleve 可以查看當前運行級別,一般默認是 2 查看 /etc/rc2.d 目錄中的 S 開頭的服務都是會開機自動運行的; 里面是軟鏈接,想添加的話自己建一個鏈接文件就可以,S 代表 start,后面數字是啟動順序,刪除軟鏈接。同時刪除 /etc/init.d/ 下對應的腳本。
vim /etc/init.d/rc.local
Centos: 用 systemctl
完成上述步驟后
exit # 退出 chroot cd ~ umount /mnt/1 # 一切完成后就可以重啟了,不出意外就正常啟動系統了(啟動后原來安裝系統時設置的賬戶等全部消失;賬戶和源主機一致)。
若開機 Grub 提示“boot error 15 :Error 15 file not found”解決方法:請檢查 GRUB 相關文件的內核文件所在位置。通常與 /boot 分區有關。 若開機 Grub 提示“dracut:dono t how to hand root=f078”解決方法:將 root=UUID 改成 root=/dev/sdaX 這種格式。
若開機系統提示 /usr/libexec/gconf-sanity-check- 2 退出狀態 256 的解決
解決方法:chmod 777 /tmp
rsync 命令
注意目標分區的格式最好是 NTFS、FAT、EXT 之類的格式,避免遇到大于 4G 的文件無法備份的問題。
#最好有其他分區或外接存儲設備,掛載好,df -lh 看掛載點。 #備份 rsync -Pa / /media/usb/backup_20170410 --exclude=/media/* --exclude=/sys/* --exclude=/proc/* --exclude=/mnt/* --exclude=/tmp/* # 恢復 rsync -Pa /media/usb/backup_20170410 /
dd 命令
dd 命令屬于扇區克隆,目標分區要比備份分區要大,即使沒有使用的空間也會被原樣克隆下來,會比較慢。
#備份 df -h #查看系統所在分區 dd if=/dev/sda1 of=/dev/sdb3 #備份 sda1 到 sdb3 中 #恢復 dd if=/dev/sdb3 of=/dev/sda1 # 恢復 sdb3 到 sdb1 中
到此,關于“Linux 系統的備份和恢復方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!