Linux系统备份教程
我个人电脑使用的是Gentoo Linux, 其他Linux发行版本同样适用下面的方法.
在我们开始备份之前,我们需要对备份的环境做一些说明,开源社区一般都建议将Linux系统做如下分区:
- /boot 使用独立分区也可以不分区(分区的好处是根分区有问题的话, 内核相关的启动代码不会丢失)
- / 根分区使用独立分区
- /opt 使用独立分区
- /home 使用独立分区
- /var使用独立分区
使用社区建议能最大限度保存你环境, 做好备份的话, 能很快恢复系统, 即使硬盘有坏道的情况下.
大多数情况下, 用户级别的数据都在/home目录下, 所以在做系统备份时一般不需要备份这块的数据, 数据量过大, 备份过程也非常耗时, 恢复过程也非常耗时./home目录下的内容建议使用raid或者外部备份方式.
我们使用任何发行版的管理员或者livecd iso, 将其使用dd
命令刻录到u盘, 我这里使用的gentoo 的最小安装镜像:
dd if=/home/gentoo/install-amd64-minimal-20170907.iso of=/dev/sdd bs=128k
/dev/sdd
是你的U盘设备描述符, 如果不清楚, 可以使用fdisk -l
查找下你的U盘
刻录到U盘后,就可以重启使用usb引导进入新刻录系统中,进入到命令行后, 先创建几个必要目录:
mkdir /backup
mkdir /os
我要备份的目标系统的分区在/dev/sda1
/dev/sda2
, /dev/sda2
为根分区, /dev/sda1
为boot分区,接下来挂载他们:
mount /dev/sda2 /os
mount /dev/sda1 /os/boot
接下来我们就可以开始备份了linux系统了:
cd /os
tar --xattrs -czpvf linuxcoming.com.tar.gz .
修复系统是上述的反向流程, 恢复命令如下:
cd /os
tar --xattrs -xpf linuxcoming.com.tar.gz
当然这里遗留了一个问题,就是如果你的系统硬盘坏了的话,需要重新安装grub
或者ilo
.通过livecd修复下bootloader就可以,我这里是gentoo环境,恢复bootloader的命令如下:
grub-install /dev/sda
grub-mkconfig -o /os/boot/grub/grub.cfg
参考链接
- https://help.ubuntu.com/community/BackupYourSystem/TAR
- https://wiki.archlinux.org/index.php/Full_system_backup_with_tar
- http://wikigentoo.ksiezyc.pl/HOWTO_Backup_to_DVD.htm
- https://github.com/tritonas00/system-tar-and-restore
- http://wikigentoo.ksiezyc.pl/HOWTO_Custom_Stage4.htm
- https://www.aboutdebian.com/tar-backup.htm
- https://wiki.debian.org/BackupAndRecovery