如何恢复 rsync 制作的文件系统备份?

如何恢复 rsync 制作的文件系统备份?

运行版本 12.04,带有 Virtualmin/Webmin。

linux-image今天我尝试删除所有不必要的文件,因为/boot分区已满。我按照 Ask Ubuntu 的指南操作,但结果导致 Grub 损坏,或者其他问题,可能是因为建议指南中的命令删除了太多文件。

几个小时后,我终于成功安装了新的内核映像,并创建了新的 Grub,但随后我发现目录中的所有文件都/run被删除了,可能还有几个与该目录中的那些软件包相关的其他文件/目录也被删除了。我不知道这是怎么发生的,但当我启动到恢复模式时,我就知道有些事情很奇怪,因为我找不到任何指向符号链接的链接/etc/resolv.conf --> /run/resolvconf/resolv.conf

无论如何:我有我的文件系统的完整备份,这是今天使用rsync命令(sudo rsync -ahe ssh ...,选项--delete --exclude=.gvfs --exclude=/proc --exclude=/dev --exclude=/sys:)制作的。

我尝试仅恢复/run目录,但是没有任何成功。

我的问题是:我可以用相同的命令用备份位置上的文件替换服务器上的所有文件rsync吗?(是的,我知道我必须在命令中交换“源”和“目标”)

如果可能的话,之后我还应该做些什么吗?

答案1

首先,我要赞扬你拥有最新的备份——你已经达到了 90% 的勤奋程度。现在,我要这样做:

  1. 从安装 CD 启动进入 Live Ubuntu 环境(或者如果使用服务器 CD,请选择修复选项。)
  2. 打开 shell 窗口
  3. 将根驱动器挂载到 /mnt,例如

    sudo mount /dev/sda1 /mnt
    
  4. 创建第二个挂载点,/mnt2并将备份驱动器挂载到该挂载点。

    sudo mkdir /mnt2
    sudo mount /dev/sdb1 /mnt2
    
  5. 现在像这样恢复

    for DIR in bin boot etc home lib lib64 opt root run sbin usr var; do
      sudo rsync -aH --delete /mnt2/$DIR /mnt
    done
    

    我跳过的所有目录、、、devsysfs基本上tmp都应该是空的。

  6. 恢复完成后,尝试 chroot/mnt并更新 grub。

    for DIR in dev proc sys; do
       sudo mount --bind /$DIR /mnt/$DIR
    done
    sudo chroot /mnt
    update-grub
    
  7. 重新开始

如果这不起作用,那么就该重新安装并恢复您的 /home 目录和您想要的任何数据文件。

相关内容