partclone使用

轉(zhuǎn)自:http://blog.lujun9972.win/blog/2018/03/08/%E4%BD%BF%E7%94%A8partclone%E5%A4%87%E4%BB%BD%E7%A3%81%E7%9B%98%E5%88%86%E5%8C%BA/

使用partclone備份磁盤分區(qū)
目錄
在linux中,最常用的 block level 備份工具應(yīng)該非 dd 莫屬了。 然而用 dd 做磁盤備份有一個(gè)不好的地方就是太費(fèi)空間,磁盤多大,生成的備份文件就有多大。

partclone 跟 dd 類似,也是一款 block level 的備份工具,因此使用它你無需擔(dān)心會(huì)破壞磁盤中 acls 或 selinux labels 這一類特殊的文件權(quán)限。

但是跟 dd 相比, partclone 能夠識別大多數(shù)常見的文件類型,只備份磁盤中用到的那些block,從而大大減少備份所耗的空間。

目前 partclone 支持的文件系統(tǒng)格式包括ext2, ext3, ext4, hfs+, reiserfs, xfs, jfs, ntfs, fat(12/16/32), exfat。

對每種文件系統(tǒng) partclone 都提供了對應(yīng)的 partclone.<fs> 對應(yīng)。比如備份 ext4 文件系統(tǒng)則使用 parclone.ext4 進(jìn)行備份。 對于不支持的文件系統(tǒng), partclone 也提供了 partclone.dd 來備份。

備份磁盤分區(qū)
在備份磁盤分區(qū)之前,請先確保被備份的分區(qū)需要先卸載。不過如果你是用的 lvm ,那么可以創(chuàng)建一個(gè)邏輯卷的 live snapshot,因此可以不受此限制。

下面這個(gè)例子,我把安裝好的orangepilite做個(gè)備份。

將orangepilite斷電后,推出TF卡,然后插入讀卡器中,插入電腦的USB接口。然后執(zhí)行

sudo partclone.ext4 -c -s /dev/sdb1 -o /mnt/orangepilite.pcl
其中:

-c
表示clone一個(gè)備份
-s
指定clone的源
-o
指定保存的鏡像文件
你會(huì)發(fā)現(xiàn),雖然TF卡是8G,但是產(chǎn)生的orangepilite.pcl只有1.3G

[lujun9972@T520 lujun9972]$ ls -lh /mnt/orangepilite.pcl
-rw------- 1 root root 1.3G 3月 8 21:23 /mnt/orangepilite.pcl
不過更多的時(shí)候,我們會(huì)對鏡像文件壓縮存儲,我們可以讓 partclone 與 gzip 連用實(shí)現(xiàn)這一點(diǎn)

sudo bash -c "partclone.ext4 -c -s /dev/sdb1 |gzip -c -9 >/mnt/orangepilite.pcl.gz"
最后產(chǎn)生的備份文件只有454M

[lujun9972@T520 lujun9972]$ ls -lh /mnt/orangepilite.pcl.gz
-rw-r--r-- 1 root root 454M 3月 8 21:34 /mnt/orangepilite.pcl.gz
相比之下,用 dd 備份后壓縮的大小為5.4G!

[lujun9972@T520 mnt]sudo bash -c "dd if=/dev/sdb1 | gzip -c -9 >/mnt/orangepilite.dd.gz" 記錄了15205152+0 的讀入 記錄了15205152+0 的寫出 7785037824 bytes (7.8 GB, 7.3 GiB) copied, 601.261 s, 12.9 MB/s [lujun9972@T520 mnt] ls -l /mnt/orangepilite.dd.gz
-rw-r--r-- 1 root root 5791589654 3月 8 21:49 /mnt/orangepilite.dd.gz
[lujun9972@T520 mnt]$ ls -lh /mnt/orangepilite.dd.gz
-rw-r--r-- 1 root root 5.4G 3月 8 21:49 /mnt/orangepilite.dd.gz
從備份還原
從備份還原很簡單

sudo partclone.ext4 -r -s /mnt/orangepilite.pcl -o /dev/sdb1
這里 -r 表示還原(restore),然后把上面?zhèn)浞莸?-s 和 -o 參數(shù)值反過來就是了。

若備份的是壓縮過的文件,則只需要運(yùn)行

sudo bash -c "gzip -c -d /mnt/orangepilite.pcl.gz | partclone.ext4 -r -o /dev/sdb1"

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容