那天风和日丽,恰个早饭准备开工学习,然后就在服务器上测试某个奇技淫巧,测试过程中时不时用rm -rf ./*
删除当前目录下的东西,结果,就在某次删除过程中少打了个点,当意识到不对的时候,我还愣了一下,而这时已经删了两三秒了,赶紧ctrl+c
但还是晚了,命令已经全删了,就剩个cd命令,啥都干不了,人傻了
从来没想过这种事居然真的会发生在我身上,这尼玛不是应该只会在段子中发生吗
冷静一下,想起来之前好像有备份,赶紧看看,然后发现尼玛只是网站备份了一下,服务器没快照。。。淦
赶紧百度一下,看看现在能干嘛
首先是看看删了什么,在没有ls的情况下,cd命令也可以列目录
cd加tab看看还剩什么东西
emm,果然/bin目录没了,还有/boot目录 ,/lib目录都没了,唯一的好消息就是www目录还在,网站的数据还在里面
但最主要的还是系统文件及命令,数据没了还能用工具恢复,命令没了真的操蛋,所以现在需要想办法恢复系统命令
折腾了一圈,找了几个大佬发现真没办法恢复,我甚至跑去咨询数据恢复工程师,天真地问他能不能恢复到原来的样子
最后没办法了,去问阿里云客服,总算是有了一线生机(阿里nb)
首先,执行了rm -rf ./*
命令后服务器肯定已经报废了,只能重装系统,因为及时ctrl+c,数据没删完,所以唯一能做的就是把数据取出来
具体方法为先将目前服务器的状态创建快照,然后保存为镜像,因为我这是轻量级应用服务器,没办法创建云盘,且重装系统后会清空快照和镜像,所以要将这个镜像共享给ECS,然后用这个镜像创建ECS实例,再用这个实例创建新的快照,然后将这个新的快照创建成云盘,最后再启动一个新的ECS实例,挂载这个云盘去扫盘就能拿到数据了
下面是具体操作
首先创建快照和镜像
接着去买ECS(我正好可以免费试用一个月)
然后共享镜像到ECS
创建ECS
创建完成后创建快照
然后再去新建一个ECS实例
在这个实例中创建云盘
选择刚刚创建的快照
然后挂载这个云盘,进入实例
查看磁盘
fdisk -l
挂载
mount <数据盘分区> <挂载点>
最后进入云盘(挂载点)
激动的心,颤抖的手,终于成功了!!!
后面就是重置系统,装一下web环境,先把网站重新搭起来,然后马上创建个快照,其他环境啥的暂时不想弄了,前后折腾了一天多,人都快废了
最后,阿里牛逼