挽救根目录被移动的阿里云ECS主机

如果你像我一样无意中把主机根目录移动到了某个子文件夹下,那么根据服务器是否断开的情形可以有以下两种方法挽救:

  1. 如果你还没断开服务器
    可以参考如下两篇文章:
    Linux下误移动根目录文件导致系统出现异常的解决方法
    linux根目录被移动走了怎么办
    把文件复制回来。注意32bit和64bit的区别。

  2. 如果你像我一样服务器已经被断开,此时已经无法连接远程主机,那么还有办法。
    2.1 停止旧实例,参考卸载或挂载系统盘,卸载系统盘。
    2.2 新建按量付费的实例,区域选择原来主机的相同区域
    在这里插入图片描述
    2.2 类型选择最便宜的t6,基本费用3分钱/小时
    在这里插入图片描述
    2.3 磁盘选20G即可,选择和原来相同的操作系统。然后计费方式按照流量收费。因为我们基本在主机ssh操作,无需多少流量。
    Note: 如果你没有余额,需要充值100元。停止按量收费实例24小时后可提现。
    2.4 启动新实例,参考挂载数据盘把卸载下来的云磁盘挂载为数据盘。
    2.5 ssh登陆新实例。
    2.6 fdisk -l查看挂载的磁盘名称,我这里是/dev/vdb1

 fdisk -l

磁盘 /dev/vda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0000974b

   设备 Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    41943039    20970496   83  Linux

磁盘 /dev/vdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000aaa23

   设备 Boot      Start         End      Blocks   Id  System
/dev/vdb1   *        2048    83875364    41936658+  83  Linux

2.7 mount磁盘,下面例子中/mnt就是旧的磁盘根目录

mount /dev/vdb1 /mnt

2.8 将文件移动回/mnt目录(即旧的磁盘根目录),比如我错误地把根目录移动到了/var/ftp/test那么,使用如下命令:

mv /mnt/var/ftp/test/* /mnt/

但是可能提示:

mv:是否覆盖"/mnt/usr"? y
mv: 无法将"/mnt/var/ftp/test/usr" 移动至"/mnt/usr": 目录非空

使用cp命令保留权限复制即可:

cp -rfp /mnt/var/ftp/test/usr /mnt/

2.9 停止新实例,新实例中卸载这个数据盘。
2.10 旧实例重新加载这个云盘,确认系统可以启动并登陆。
2.11 释放新实例配置避免收费
2.12 旧实例删除重复的/var/ftp/test/usr即可(本文例子的路径,需要根据你的情况修改)。

本文SimonLiu原创,转载需注明来源。

发布了227 篇原创文章 · 获赞 148 · 访问量 34万+

猜你喜欢

转载自blog.csdn.net/toopoo/article/details/104983516