Linux备份和恢复
备份
tar参数“–exclude=”后面添加需要排除的目录,需按照各发行版进行相应的修改,以arch为例:
sudo tar -cvzpf root-backup.tar.gz --exclude=/home --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/run/media --exclude=/var/cache --exclude=/root-backup.tar.gz /
因Gzip是单线程运行的,不能利用到所有的系统资源进行压缩,我们可以调用pigz来实现多线程压缩,更节省时间:
sudo pacman -S pigz
sudo tar --use-compress-program=pigz -cvpf root-backup.tar.gz --exclude=/home --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/run/media --exclude=/var/cache --exclude=/root-backup.tar.gz /
如果你跟我一样Linux安装在一个分区中,可以去掉--exclude=/home
,完整备份整个系统。
恢复
使用Arch的启动盘引导,挂载储存备份文件的移动硬盘到/usb
,挂载安装系统的分区到/mnt
,解压备份文件。
mkdir /usb
#挂载移动硬盘
mount /dev/sda /usb
#挂载安装系统的分区
mount /dev/nvme0n1p5 /mnt
tar -zxvf /usb/root-backup.tar.gz -C /mnt
#挂载EFI分区
mount /dev/nvme0n1p1 /mnt/boot/EFI
#生成fstab
genfstab -U > /mnt/etc/fstab
arch-chroot /mnt /bin/bash
#生成ramdisk环境
mkinitcpio -p linux
#安装efi启动器
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg