那天风和日丽,恰个早饭准备开工学习,然后就在服务器上测试某个奇技淫巧,测试过程中时不时用rm -rf ./*删除当前目录下的东西,结果,就在某次删除过程中少打了个点,当意识到不对的时候,我还愣了一下,而这时已经删了两三秒了,赶紧ctrl+c

但还是晚了,命令已经全删了,就剩个cd命令,啥都干不了,人傻了

从来没想过这种事居然真的会发生在我身上,这尼玛不是应该只会在段子中发生吗

冷静一下,想起来之前好像有备份,赶紧看看,然后发现尼玛只是网站备份了一下,服务器没快照。。。淦

赶紧百度一下,看看现在能干嘛

首先是看看删了什么,在没有ls的情况下,cd命令也可以列目录

cd加tab看看还剩什么东西

image-20220707150202613

emm,果然/bin目录没了,还有/boot目录 ,/lib目录都没了,唯一的好消息就是www目录还在,网站的数据还在里面

但最主要的还是系统文件及命令,数据没了还能用工具恢复,命令没了真的操蛋,所以现在需要想办法恢复系统命令

折腾了一圈,找了几个大佬发现真没办法恢复,我甚至跑去咨询数据恢复工程师,天真地问他能不能恢复到原来的样子

最后没办法了,去问阿里云客服,总算是有了一线生机(阿里nb)

首先,执行了rm -rf ./*命令后服务器肯定已经报废了,只能重装系统,因为及时ctrl+c,数据没删完,所以唯一能做的就是把数据取出来

具体方法为先将目前服务器的状态创建快照,然后保存为镜像,因为我这是轻量级应用服务器,没办法创建云盘,且重装系统后会清空快照和镜像,所以要将这个镜像共享给ECS,然后用这个镜像创建ECS实例,再用这个实例创建新的快照,然后将这个新的快照创建成云盘,最后再启动一个新的ECS实例,挂载这个云盘去扫盘就能拿到数据了

下面是具体操作

首先创建快照和镜像

image-20220707162833106

接着去买ECS(我正好可以免费试用一个月)

然后共享镜像到ECS

image-20220707163337078

创建ECS

image-20220707163313448

创建完成后创建快照

image-20220707163503510

然后再去新建一个ECS实例

image-20220707163852327

在这个实例中创建云盘

image-20220707163925787

选择刚刚创建的快照

image-20220707164031166

然后挂载这个云盘,进入实例

查看磁盘

fdisk -l

挂载

mount <数据盘分区> <挂载点>

最后进入云盘(挂载点)

image-20220707164720756

激动的心,颤抖的手,终于成功了!!!

后面就是重置系统,装一下web环境,先把网站重新搭起来,然后马上创建个快照,其他环境啥的暂时不想弄了,前后折腾了一天多,人都快废了

最后,阿里牛逼

最后修改:2023 年 12 月 15 日
如果觉得我的文章对你有用,请随意赞赏