Ubuntu系統備份和還原,從此避免系統重灌

2021-08-10 20:22:59 字數 3358 閱讀 7853

大學開始慢慢接觸linux系統,從開始的centos到現在的ubuntu(也稱烏班圖:「來自南部非洲班圖語「),傳遞著」我的存在是因為大家的存在」的價值觀。linux的哲學思想深深吸引著我————「一切皆檔案」。

身邊好多朋友也在用ubuntu,都說好用,很炫酷,但也易崩潰。這個問題也讓我頭疼。我重灌系統不下三次了,每次最擔心的就是資料丟失。用的最久的一次是1年多,還挺自豪,算給面子了~.~

遇到問題,就要著手解決問題。畢竟重灌系統真的心塞。下面我要先說說我的想法,當然你也可以跳過這一部分,直接看下面的操作方法。

面臨這個問題,我的第乙個想法就是,系統備份。類似與vmware下的快照一樣,可以給ubuntu系統做個備份,儲存下來以備不時之需。有人會問,系統都崩潰了,備本份檔案怎麼用?對於這個問題,關於儲存方面我想到的是雲儲存技術,畢竟現在雲服務無處不在。實在不行將備份檔案拷貝到u盤。關於如何運用備份檔案恢復系統的方面我沒有什麼建議,對這方面不太懂。難道是類似於資料庫的「事物回滾」!

下面就分享下我蒐集到的方法吧,基本可以滿足要求。

linux秉承一切皆檔案的思想,系統備份就相當於把整個/(根目錄)所有檔案打包壓縮儲存。

備份前先切換到root使用者,避免許可權問題,然後切換到/(根目錄)

tar -cvpzf /media/disk/mydisk/ubuntu_backup@`date +%y-%m+%d`.tar.gz --exclude=/proc --exclude=/tmp --exclude=/boot --exclude=/home --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/run /
下面解釋一下上面這條命令。tar就是乙個打包命令。

/media/disk/mydisk/ubuntu_backup@`date +%y-%m+%d`.tar.gz
這個是備份文件的存放路徑,我的行動硬碟名字叫mydisk,掛載在/media/disk目錄下,ubuntu_backup@date +%y-%m+%d.tar.gz是我備份檔案的名字,這裡用了乙個shell命令date +%y-%m+%d用於獲取當前時間,因為備份嘛,註明時間戳還是有必要的,然後.tar.gz是說明這個檔案是用tar進行打包,gzip進行壓縮的。所以要根據你自己情況換為你自己的備份檔案目錄和檔名。

引數:

-c: 新建乙個備份文件

-v: 顯示詳細資訊

-p: 儲存許可權,並應用到所有檔案

-z: 用gzip壓縮備份文件,減小空間

-f: 指定備份檔案的路徑

–exclude: 排除指定目錄,不進行備份

note: 注意–exclude引數,接下來談談那些目錄沒有備份,以及為什麼不備份。

我的ubuntu系統,共有四個分割槽,分別是:/、/home、/boot、swap。

/proc:乙個虛擬檔案系統,系統執行的每乙個程序都會自動在這個目錄下面建立乙個程序目錄。既然是系統自動建立,也就沒必要備份的必要了。

/tmp:乙個臨時資料夾,系統的一些臨時檔案會放在這裡。

/lost+found:系統發生錯誤時(比如非法關機),可以在這裡找回一些丟失檔案。

/media:多**掛載點,像u盤、行動硬碟、windons分割槽等都會自動掛載到這個目錄下。

/mnt:臨時掛載點,你可以自己掛載一些檔案系統到這裡。

/run:系統從啟動以來產生的一些資訊檔案。

/home:使用者家目錄,存放使用者個人檔案和應用程式。

我再次強調一次,/home和/boot目錄我實際也是做了備份的,備份命令和上面差不多,當然你也可以排除一些目錄不進行備份,像我/home下面的虛擬機器檔案,太佔空間了。

tar -cvpzf /media/disk/my_disk/ubuntu_home_backup@`date +%y-%m-%d`.tar.gz /home

tar -cvpzf /media/disk/mydisk/ubuntu_boot_backup@`date +%y-%m-%d`.tar.gz /boot

最後還要提一下就是,有可能備份到最後系統會提示"tar: 由於前次錯誤,將以上次的錯誤狀態退出",這個警告可以忽略,沒什麼影響的。

系統備份的意義就在於系統哪天發生意外時可以系統還原拯救回來

這裡有兩種還原方式,如果你系統出問題了,但是還可以進入終端,那就可以直接解壓備份檔案進行還原。但是如果你連系統都不能登入了,就要使用livecd(u盤啟動盤)進行還原了。

直接操作

操作前切換到root,並且換到/根目錄。

tar -xvpzf /media/disk/mydisk/[email protected] -c /
livecd

操作之前請確保你已經有乙個製作好的ubuntu u盤啟動盤。進入系統後,開啟終端還是先切換到root。

mkdir /mnt/sys

mount /dev/sdax /mnt/sys

tar -xvpzf /media/mydisk/[email protected] -c /mnt/sys

注意先建立乙個臨時目錄用於掛載你的/根目錄分割槽,sdax代表你的/根目錄分割槽,如果不知道就用fdisk -l檢視一下,另外如果你的行動硬碟沒有被自動掛載,你也需要手動建立乙個臨時目錄進行掛載。

note:因為 tar還原是只會覆蓋相同的檔案,但是這種方法只是恢復備份時的檔案,就是說如果某些檔案丟失或損壞了,這樣可以恢復修復這些檔案,但不能刪除自備份到恢復前這期間所生成的其它檔案,說白了就是假如你備份系統時有1234這四個檔案,如果三天後,由於某些原因變成了1234』5(4改變了),你恢復後,就會變成12345,其中4』恢復成備份時的檔案,5保留。所以大家要是想徹底還原成備份時候的樣子最好徹底刪除根目錄下的所有檔案,然後再還原,這樣就可以還原成備份時的樣子了。

刪除整個檔案系統,比如執行命令rm -fr /*,那麼你還原系統後一定要把你之前沒有備份的目錄手動建立,不然重啟系統是有問題的。

mkdir proc tmp lost+found media mnt run

Ubuntu系統備份和還原,從此避免系統重灌

大學開始慢慢接觸linux系統,從開始的centos到現在的ubuntu 也稱烏班圖 來自南部非洲班圖語 傳遞著 我的存在是因為大家的存在 的價值觀。linux的哲學思想深深吸引著我 一切皆檔案 身邊好多朋友也在用ubuntu,都說好用,很炫酷,但也易崩潰。這個問題也讓我頭疼。我重灌系統不下三次了,...

Ubuntu系統備份與還原

sudo su cd tar cvpzf backup.tgz exclude proc exclude lost found exclude backup.tgz exclude mnt exclude sys 如果你希望更高的壓縮比 速度慢 用這個替換上面最後一步的 tar cvpjf back...

ubuntu系統備份與還原

在 使用ubuntu之前,相信很多人都有過使用windows系統的經歷。如果你備份過windows系統,那麼你一定記憶猶新 首先需要找到乙個備份工 具 通常都是私有軟體 然後重啟電腦進入備份工具提供的軟體環境,在這裡備份或者恢復windows系統。norton ghost是備份windows系統時經...