Ubuntu22.04 系统备份、还原
一、备份系统文件
/proc,是内存文件,个头太大,不需要备份/sys,无法备份,总报错,事实上不用备份/lost+found,不用备份,可以直接删除/mnt、/media,如果里面挂载了硬盘,别备份,个头太大了,无法备份
二、压缩系统文件
tar cvpzf /tmp/system.img --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys --exclude=/tmp /
注意:将备份文件system.img拷贝至其他电脑或U盘存储
2.1 tar命令参数:
-c:新建一个备份文档-v:显示详细信息-p:保存权限,并应用到所有文件-z:用gzip压缩备份文档,减小空间-f:指定压缩包名称(带路径),只能做最后一个参数–exclude:排除指定目录,不进行备份
2.2 文件目录介绍:
/proc:一个虚拟文件系统,系统运行的每一个进程都会自动在这个目录下面创建一个进程目录。既然是系统自动创建,也就没必要备份的必要了。/lost+found:系统发生错误时(比如非法关机),可以在这里找回一些丢失文件。/media:多媒体挂载点,像u盘、移动硬盘、windons分区等都会自动挂载到这个目录下。/mnt:临时挂载点,你可以自己挂载一些文件系统到这里。
三、还原系统文件
3.1 使用root账号执行命令
su
3.2 解压备份文件
- 将备份文件
system.img,拷贝至/tmp目录scp system.img /tmp/ - 解压
system.img文件至/tmp/backup目录tar xvpfz /tmp/system.img -C /tmp/backup - 删除原有文件
    
rm -rf /usr /var /opt /media /home /etc /srv /sbin /root /boot /lost+found - 删除文件后可以查看系统占用空间变小
    
df -lh四、同步还原特殊目录
针对无法直接删除的目录,采用同步还原(去掉新增的内容,保留文件的属主,属组,权限等)
rsync -avz --delete /tmp/backup/run/ /run/ rsync -avz --delete /tmp/backup/dev/ /dev/ rsync -avz --delete /tmp/backup/bin/ /bin/ rsync -avz --delete /tmp/backup/lib/ /lib/五、解压备份还原
将备份文件解压到根目录,还原系统文件:
tar xvpfz /tmp/system.img -C / 
强制重启:
reboot -f
把之前没有备份的目录手动创建:
mkdir proc lost+found media mnt sys