Linux系統備份與還原是管理伺服器的重要技能之一。在伺服器運作期間,系統資料可能會損壞或遺失,這時備份就變得非常必要,而一旦資料損壞或遺失,復原作業也同樣重要。
本文將詳細介紹如何進行 Linux 系統的備份與恢復,並給出具體的程式碼範例。
一、備份作業
在進行備份作業前,我們需要事先規劃備份策略,如何進行備份、備份週期、備份的目標資料、備份的型別等。
備份的三種類型:
(1)完全備份:將整個系統備份
(2)增量備份:只備份發生了更改的檔案
(3)差異備份:只備份與上一次備份發生了更改的檔案
以下是Linux系統備份的具體步驟及程式碼範例:
首先,我們需要建立一個備份目錄,用於儲存備份檔案。
$ mkdir /backup
推薦使用 tar 指令進行完全備份,因為 tar 指令備份檔案時,能保存完整的檔案屬性和權限。
$ tar -cvpzf /backup/fullbackup.tar.gz --exclude=/backup --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/tmp/ /
上面的指令中:
tar:表示使用tar 指令
-c:表示建立備份
##-v:表示顯示備份程序-p:表示保留檔案屬性和權限-z:表示使用gzip 壓縮備份檔案-f:表示備份檔案的名稱/ backup/fullbackup.tar.gz:表示備份檔案的保存路徑和檔案名稱--exclude:表示排除備份的目錄和檔案。上面的指令中排除了一些不需要備份的目錄,以提高備份速度。$ rsync -av --progress /home /backup/incrementalbackup/
$ rdiff-backup /home /backup/diffbackup/
$ tar -xvpzf /backup/fullbackup.tar.gz -C /
-p:表示保留檔案屬性與權限-z:表示使用gzip 壓縮備份檔案-f:表示備份檔案的名稱/backup/ fullbackup.tar.gz:表示備份檔案的保存路徑和檔案名稱-C /:表示將備份檔案還原到根目錄下##增量還原
$ sudo apt-get install rsync
然後使用下面的指令進行還原:
rsync -av --progress /backup/incrementalbackup/ /home/
上面的指令中:
rsync:表示使用rsync 指令
-a:表示歸檔模式,表示保留檔案屬性與權限
-v:表示詳細模式,顯示備份行程
##-- progress:表示顯示備份程序的程序/backup/incrementalbackup/:表示備份檔案的儲存路徑/home/:表示還原到原本的目錄#差異恢復
$ sudo apt-get install rdiff-backup
$ rdiff-backup /backup/diffbackup/ /home
以上是如何進行Linux系統的備份與恢復的詳細內容。更多資訊請關注PHP中文網其他相關文章!