過去用Ubuntu系統(tǒng)沒有備份的習(xí)慣, 也沒出什么問題盔夜。但是前幾日不知怎么搞的负饲, 開不了機了, 由于沒有備份比吭,無奈只能重裝系統(tǒng)绽族。遂今日把備份過程記錄一下, 以便日后查閱衩藤。
1.清理緩存
# 清理舊版本的軟件緩存
sudo apt-get autoclean
# 清理所有軟件緩存
sudo apt-get clean
# 刪除系統(tǒng)不再使用的孤立軟件
sudo apt-get autoremove
2.使用tar備份
命令及參數(shù)解釋
v: 顯示詳細(xì)的壓縮信息
c:創(chuàng)建tar包
j:使用bzip2壓縮格式 (壓縮率略高吧慢,但是速度慢,后綴為:tar.bz2)
z:使用gzip壓縮格式(壓縮率略低赏表,但是速度快检诗,后綴為:tar.gz)
p:保留文件原始權(quán)限
f:生成的壓縮文件的路徑要排除的文件
/proc
/lost+found
/sys
/cdrom
/mnt
/media
我把/home下cavalry(用戶目錄)之外的目錄都排除了(根據(jù)自己情況選擇 ,需要備份就不要排除)
排除打包文件自身命令執(zhí)行
#切換到root用戶
sudo su
#進(jìn)入到 / 目錄
cd /
##打包
tar -cvpj -f /home/ubuntu_`date +%Y%m%d_%H`.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/cdrom --exclude=/mnt --exclude=/media --exclude=/home/ide/ --exclude=/home/java/ --exclude=/home/WORKING_DIRECTORY/ --exclude=/home/workspace/ --exclude=/home/aosp-latest.tar --exclude=/home/ubuntu_`date +%Y%m%d_%H`.tar.bz2 /
解釋一下這個命令:
tar
: 這不用多說
-cvpj -f
: 一些參數(shù)
/home/ubuntu_\
date +%Y%m%d_%H`.tar.bz2:壓縮后的文件名
--exclude: 一些忽略文件
/` : 一定不要忘記最后的 / , 代表被壓縮的目錄
3.打包過程中會遇到如下錯誤或警告信息
tar: Exiting with failure status due to previous errors
這個問題其實不是真正的錯誤信息瓢剿, 真正的錯誤信息混雜在標(biāo)準(zhǔn)輸出(stout)中, 重新執(zhí)行命令并把v參數(shù)去掉即可看到真正問題所在逢慌。tar: Removing leading ’/‘ from member names
或tar: Removing leading ’/‘ from hard link targets
這個問題其實不影響程序的執(zhí)行,產(chǎn)生的原因是tar在壓縮的過程中自動幫我們?nèi)サ袅寺窂角暗摹?”间狂,也就是tar壓縮后的包是按照相對路徑壓縮的攻泼。 當(dāng)我們恢復(fù)時, 就需要通過 -C 參數(shù)手動指定解壓到 “/” 目錄鉴象, 如:tar xvpfj ubuntu_20170120_11.tar.bz2 -C /
可以使用-P
參數(shù)來指定按照絕對路徑打包:
tar -cpj -f /home/ubuntu_`date +%Y%m%d_%H`.tar.bz2 --exclude=/proc [...省略...] --exclude=/home/ubuntu_`date +%Y%m%d_%H`.tar.bz2 -P /
這樣解壓的時候就不需要使用 -C 來指定解壓到哪個目錄:tar xvpfj ubuntu_20170120_11.tar.bz2
tar: /dev/shm: file changed as we read it
或tar: /run/udev/control: socket ignored
這個socket ignored產(chǎn)生的原因是壓縮的過程中文件正在使用忙菠,無需理會,不影響壓縮纺弊。tar: /run/user/1000/gvfs: Cannot stat: Permission denied
這個問題不用理會牛欢,與虛擬文件系統(tǒng)有關(guān),不影響壓縮淆游。 具體原因參見:
http://unix.stackexchange.com/questions/77453/why-cannot-find-read-run-user-1000-gvfs-even-though-it-is-running-as-root小結(jié)
最后總結(jié)一下就是:壓縮過程中碰到的這幾個問題都不是問題傍睹。
我剛裝的Ubuntu 16.04 64bit, 經(jīng)bzip2壓縮后約為2.4G
4.恢復(fù)
tar xvpfj ubuntu_20170120_11.tar.bz2 -C /
5.tar的增量備份
參考這個博客, 樓主暫時還沒用到增量備份, 此處留備后用.
http://lesca.me/archives/how-to-incrementally-backup-linux-with-gnu-tar.html