Linux笔记:系统备份

系统备份最重要的作用实际上是数据备份,但对我来说代码都存在github上,需要备份的主要就是系统的配置,虽说有了自动化的脚本配置linux,但是一方面需要网络下载另一方面一些软件需要自己编译,都很花时间,所以寻找一种适合自己的“无脑”备份和还原的方法还是很重要的。

Linux的备份方法主要有三种

  1. 基于tar或者Rsync的文件级备份
  2. 基于dd的硬盘级备份
  3. 基于第三方开源工具CloneZilla的硬盘级备份

这三种方法我都实验了一下,基于方便至上的原则,最终还是选择了dd的方式备份,下面简述方法

1. 查看自己的文件系统状况

命令:sudo fdisk -l

输出如下

[用户名@计算机名 ~]$ sudo fdisk -l
[sudo] 用户名 的密码:
Disk /dev/nvme0n1:119.2 GiB,128035676160 字节,250069680 个扇区
Disk model: KBG30ZPZ128G TOSHIBA                    
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:35BA9E9F-D49A-4811-983D-4CE93C3B19D5

设备             起点      末尾      扇区  大小 类型
/dev/nvme0n1p1   4096    618495    614400  300M EFI 系统
/dev/nvme0n1p2 618496 250067789 249449294  119G Linux 文件系统


Disk /dev/sda:14.3 GiB,15376318464 字节,30031872 个扇区
Disk model: Ultra USB 3.0   
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00000000

设备       启动  起点     末尾     扇区  大小 Id 类型
/dev/sda1        2048 30031871 30029824 14.3G  7 HPFS/NTFS/exFAT
[用户名@计算机名  ~]$ 


其中/dev/nvme0n1就是要保存的系统盘,/dev/sda1是我插入的U盘用于保存备份

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就是镜像文件了,系统还原的时候我们可以再从压缩文件中还原

sudo gzip -dc /run/media/用户名/LinuxBackup/Surface/surface.img.gz | dd of=/dev/nvme0n1

备份和还原的时间都比较长可以再开启一个bash窗口使用如下命令查看进度

sudo watch -n 5 pkill -USR1 ^dd$

你可能感兴趣的:(Linux笔记:系统备份)