參考:http://nerotux.tuxfamily.org/index.php/Articles/TarCommand
備份系統
1. 進入root用戶
sudo su
2. 進入根目錄
cd /
3. 開始備份
tar cvpzf backup-`date '+%d-%B-%Y'`.tar.gz --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/proc --exclude=/sys /
命令格式:
tar [選項] 壓縮文檔的路徑及名稱 欲備份目錄
選項:
參考:Linux命令大全
cvpzf:
- -c或–create:建立新的備份文件;
- -v或–verbose:顯示指令執行過程;
- -p或–same-permissions:用原來的文件權限還原文件;
- -z或–gzip或–ungzip:通過gzip指令處理備份文件;
- -f<備份文件>或–file=<備份文件>:指定備份文件;
- –exclude=<範本樣式>:排除符合範本樣式的文件。
這裏對排除的文件作個說明: - /lost+found:系統發生錯誤時(比如非法關機),它提供了恢復丟失文件的一種方法。
- /media:多媒體掛載點,像u盤、移動硬盤、windons分區等都會自動掛載到這個目錄下。
- /mnt:臨時掛載點,你可以自己掛載一些文件系統到這裏。
- /proc:一個虛擬文件系統,系統運行的每一個進程都會自動在這個目錄下面創建一個進程目錄。
完整版: - -A或–catenate:新增文件到以存在的備份文件;
- -B:設置區塊大小;
- -c或–create:建立新的備份文件;
- -C <目錄>:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。
- -d:記錄文件的差別;
- -x或–extract或–get:從備份文件中還原文件;
- -t或–list:列出備份文件的內容;
- -z或–gzip或–ungzip:通過gzip指令處理備份文件;
- -Z或–compress或–uncompress:通過compress指令處理備份文件;
- -f<備份文件>或–file=<備份文件>:指定備份文件;
- -v或–verbose:顯示指令執行過程;
- -r:添加文件到已經壓縮的文件;
- -u:添加改變了和現有的文件到已經存在的壓縮文件;
- -j:支持bzip2解壓文件;
- -v:顯示操作過程;
- -l:文件系統邊界設置;
- -k:保留原有文件不覆蓋;
- -m:保留文件不被覆蓋;
- -w:確認壓縮文件的正確性;
- -p或–same-permissions:用原來的文件權限還原文件;
- -P或–absolute-names:文件名使用絕對名稱,不移除文件名稱前的“/”號;
- -N <日期格式> 或 --newer=<日期時間>:只將較指定日期更新的文件保存到備份文件裏;
- –exclude=<範本樣式>:排除符合範本樣式的文件。
壓縮文檔的路徑及名稱
backup-`date '+%d-%B-%Y'`.tar.gz
這裏沒有寫路徑就是保存在當前命令的目錄/
。
壓縮包名字中date '+%d-%B-%Y'
是當期的日期。像我這樣寫你得到的壓縮文件的文件名爲:
backup-29-二月-2020.tar.gz
這個尾綴.tar.gz
是指用tar
命令打包,壓縮方法是”gzip“。
欲備份目錄
上面的命令備份的文件是除了一些排除的文件以外的/
目錄。
如果我們想單獨備份/boot
或/home
時可以替換爲這兩個文件。如:
tar cvpzf ubuntu_home_backup-`date '+%d-%B-%Y'`.tar.gz /home
tar cvpzf ubuntu_home_backup-`date '+%d-%B-%Y'`.tar.gz /boot
如果你在安裝Ubuntu時給home和boot劃分了磁盤的話,建議單獨備份/boot
和/home
。
Ps:由於備份是用root用戶來進行的,產生的壓縮包很可能普通用戶無法操作(如移動和複製),可以用chmod
命令來更改壓縮包的權限,或者是用在命令行裏在root用戶下執行對文件的操作。
Ps:關於備份後出現:
tar: Exiting with failure status due to previous errors
其實不用擔心,既然是你root用戶都無權訪問的文件,那可能是一些本就無法備份的文件,忽略就可以。
恢復備份
這個在我有恢復經驗後再寫。