系統(tǒng)備份最重要的作用實際上是數(shù)據(jù)備份,但對我來說代碼都存在github上,需要備份的主要就是系統(tǒng)的配置,雖說有了自動化的腳本配置linux,但是一方面需要網(wǎng)絡(luò)下載另一方面一些軟件需要自己編譯,都很花時間,所以尋找一種適合自己的“無腦”備份和還原的方法還是很重要的。
Linux的備份方法主要有三種
- 基于tar或者Rsync的文件級備份
- 基于dd的硬盤級備份
- 基于第三方開源工具CloneZilla的硬盤級備份
這三種方法我都實驗了一下,基于方便至上的原則,最終還是選擇了dd的方式備份,下面簡述方法
1. 查看自己的文件系統(tǒng)狀況
命令:sudo fdisk -l
輸出如下
[用戶名@計算機名 ~]$ sudo fdisk -l
[sudo] 用戶名 的密碼:
Disk /dev/nvme0n1:119.2 GiB,128035676160 字節(jié),250069680 個扇區(qū)
Disk model: KBG30ZPZ128G TOSHIBA
單元:扇區(qū) / 1 * 512 = 512 字節(jié)
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標簽類型:gpt
磁盤標識符:35BA9E9F-D49A-4811-983D-4CE93C3B19D5
設(shè)備 起點 末尾 扇區(qū) 大小 類型
/dev/nvme0n1p1 4096 618495 614400 300M EFI 系統(tǒng)
/dev/nvme0n1p2 618496 250067789 249449294 119G Linux 文件系統(tǒng)
Disk /dev/sda:14.3 GiB,15376318464 字節(jié),30031872 個扇區(qū)
Disk model: Ultra USB 3.0
單元:扇區(qū) / 1 * 512 = 512 字節(jié)
扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)
I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)
磁盤標簽類型:dos
磁盤標識符:0x00000000
設(shè)備 啟動 起點 末尾 扇區(qū) 大小 Id 類型
/dev/sda1 2048 30031871 30029824 14.3G 7 HPFS/NTFS/exFAT
[用戶名@計算機名 ~]$
其中/dev/nvme0n1就是要保存的系統(tǒng)盤,/dev/sda1是我插入的U盤用于保存?zhèn)浞?/p>
2. dd命令
基本命令格式: sudo dd if=/dev/nvme0n1 of=/run/media/用戶名/LinuxBackup/Surface/surface.img.bk
注意:這個備份命令是無壓縮的,也就是說你的源盤有128G那么備份出來的鏡像也有128G,這樣對空間是極大的浪費,因此需要使用壓縮的方式進行備份
sudo dd if=/dev/nvme0n1 | gzip > /run/media/用戶名/LinuxBackup/Surface/surface.img.gz
這樣U盤中的surface.img.gz就是鏡像文件了,系統(tǒng)還原的時候我們可以再從壓縮文件中還原
sudo gzip -dc /run/media/用戶名/LinuxBackup/Surface/surface.img.gz | dd of=/dev/nvme0n1
備份和還原的時間都比較長可以再開啟一個bash窗口使用如下命令查看進度
sudo watch -n 5 pkill -USR1 ^dd$