Joa*_*him 5 server backup rsync restore
使用 Virtualmin/Webmin 运行 12.04 版。
我linux-image今天试图删除所有不必要的文件,因为/boot分区已满。我遵循了 Ask Ubuntu 的指南,但这导致 Grub 损坏或其他原因,可能是因为建议指南中的命令删除了超出应有的内容。
几个小时后,我终于设法安装了一个新的内核映像,并创建了一个新的 Grub,但后来我发现目录/run中的所有文件都被删除了,可能还有其他几个文件/目录,它们与该目录中的那些包相关。我不知道这是怎么发生的,但我知道当我启动到恢复模式时已经有些奇怪了,因为我找不到任何指向 symlink 的链接/etc/resolv.conf --> /run/resolvconf/resolv.conf。
无论如何:我有我的文件系统的完整备份,这是今天使用rsync命令 ( sudo rsync -ahe ssh ..., options: --delete --exclude=.gvfs --exclude=/proc --exclude=/dev --exclude=/sys) 制作的。
我试图只恢复/run目录,但没有任何运气。
我的问题是:我可以用相同的rsync命令替换我服务器上的所有文件,用我的备份位置上的文件吗?(是的,我知道我必须在命令中交换“源”和“目标”)
如果可能的话,我之后还有什么应该做的吗?
小智 1
首先,我对拥有当前备份表示赞赏——您的勤奋程度已经达到了 90%。现在继续,我会这样做:
将根驱动器挂载到/mnt,例如
sudo mount /dev/sda1 /mnt
Run Code Online (Sandbox Code Playgroud)创建第二个安装点,/mnt2并将备份驱动器安装到该安装点。
sudo mkdir /mnt2
sudo mount /dev/sdb1 /mnt2
Run Code Online (Sandbox Code Playgroud)现在像这样恢复
for DIR in bin boot etc home lib lib64 opt root run sbin usr var; do
sudo rsync -aH --delete /mnt2/$DIR /mnt
done
Run Code Online (Sandbox Code Playgroud)
我跳过的所有目录、、、dev等sysfs基本上tmp应该是空的。
恢复完成后,尝试 chroot/mnt并更新 grub。
for DIR in dev proc sys; do
sudo mount --bind /$DIR /mnt/$DIR
done
sudo chroot /mnt
update-grub
Run Code Online (Sandbox Code Playgroud)重新开始
如果这不起作用,那么就需要重新安装并恢复您的 /home 目录和您想要的任何数据文件。