- 樹莓派開發從零開始學:超好玩的智能小硬件制作書
- 胡松濤
- 964字
- 2021-03-19 19:29:50
2.4.1 tar備份還原
1.tar備份系統
首先來看下tar命令的作用,如圖2-39所示。

圖2-39 man tar
tar是一個打包程序。有點類似于Windows下的Winrar。但它沒有壓縮功能,如果需要壓縮,還得配合gzip一起使用。
tar的參數有很多。常用的幾個參數如下。
● -c:建立一個壓縮文件的參數指令(create的意思)。
● -x:解開一個壓縮文件的參數指令。
● -t:查看tarfile里面的文件。
注意
在參數的下達中,c/x/t僅能存在一個!不可同時存在!因為不可能同時壓縮與解壓縮。
● -z:gzip壓縮/解壓縮。
● -j:bzip2壓縮/解壓縮。
● -v:壓縮的過程中顯示文件。
● -f:使用文件名,請留意,在f之后要立即接文件名,不要再加參數。例如使用tar -zcvfP tfile sfile就是錯誤的寫法,要寫成tar -zcvPf tfile sfile才對。
● -g:增量備份
● -p:保留原文件的原來屬性。
● -P:可以使用絕對路徑來壓縮。
● -N:比后面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中。
● --exclude FILE:在壓縮的過程中,不要將FILE打包。
好了,下面正式開始備份步驟。
(1)查看需要備份的目錄
使用Putty登錄Raspberry后執行命令:
ls /
查看Raspberry的根目錄,如圖2-40所示。

圖2-40 根目錄
并不是整個系統都需要備份的,有些目錄完全可以略過。
● lost+found:存放修復或損壞的文件的目錄,一般情況下里面沒有東西。
● mnt:一般用來掛載硬盤優盤的目錄。
● proc:目錄文件,只存在內存當中,而不占用外存空間。
● sys:內核信息映射。
● media:一般用來掛載光盤。
● tmp:臨時文件。
也就是說以上的幾個目錄是可以不打包的。
(2)進入備份目錄,開始備份
原理弄清楚了,下面執行命令:
cd /tmp tar zcvpf pi_20150718.tar.gz –exclude=/lost+found –exclude=/mnt –exclude=/sys –exclude=/proc –exclude=/media –exclude=/tmp /
第一條命令是進入/tmp備份目錄下。第二條命令作用是,除了以上幾個文件夾外,使用gzip壓縮,打包整個系統。壓縮文件名為pi_20150718.tar.gz。
等命令執行完畢后,找個大容量的優盤掛載到pi上,將pi_20150718.tar.gz轉移到優盤保存,或者利用scp命令將該備份文件轉移到其他PC上。
注意
使用tar備份,可以直接在Raspberry上執行。也就是說在本機來備份本機,有點類似于GHOST的備份。剛才的例子里,我是在/tmp目錄下進行備份的,優點就是速度快,畢竟只需要在硬盤上讀取。缺點是在這里備份的前提條件是/tmp目錄下有足夠的空間。如果沒有,那就找塊大容量的移動硬盤或者是優盤,把它掛載到/mnt目錄上,再進入/mnt目錄來備份整個系統。這樣就涉及USB的傳輸速度什么的了,速度就差了一點點。
2.tar還原系統
tar還原就簡單多了。將備份文件pi_20150718.tar.gz拷貝到/tmp下,執行命令:
tar zxvpf pi_20150718.tar.gz –C /
好了,現在系統已經恢復到備份時一樣了。
- JavaScript 從入門到項目實踐(超值版)
- Learning Apex Programming
- Instant Apache Stanbol
- Java EE框架整合開發入門到實戰:Spring+Spring MVC+MyBatis(微課版)
- 深入理解Django:框架內幕與實現原理
- PyTorch自然語言處理入門與實戰
- Raspberry Pi 2 Server Essentials
- Python機器學習實戰
- 快速念咒:MySQL入門指南與進階實戰
- Highcharts Cookbook
- 學習正則表達式
- 細說Python編程:從入門到科學計算
- Python應用與實戰
- 數字媒體技術概論
- Bitcoin Essentials