V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
m939594960
V2EX  ›  问与答

阿里云服务器一不小心 rm -rf / 了求恢复的办法

  •  
  •   m939594960 · 2016-12-06 23:46:35 +08:00 · 11425 次点击
    这是一个创建于 2668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    阿里云服务器一不小心 rm -rf / 了

    主要数据的目录还能 cd 进去 但是其他的命令都不行了 ls dir ll 都不行了。。

    我只想吧这部分文件恢复出来 不知道改咋弄。。 急

    49 条回复    2016-12-08 09:58:00 +08:00
    Kylinsun
        1
    Kylinsun  
       2016-12-06 23:48:26 +08:00 via Android
    回滚。
    xmoiduts
        2
    xmoiduts  
       2016-12-06 23:48:38 +08:00 via Android
    从快照里回档啊
    gogohigh
        3
    gogohigh  
       2016-12-06 23:51:16 +08:00
    到底怎么不小心才能 rm -rf / = =
    m939594960
        4
    m939594960  
    OP
       2016-12-06 23:52:06 +08:00
    @Kylinsun
    @xmoiduts 我问了客服 说没有快照。。。。
    m939594960
        5
    m939594960  
    OP
       2016-12-06 23:52:29 +08:00
    @gogohigh rm -rf ./* 没想到笔记本的键盘 .的位置不对 然后就。。。。。
    just1
        6
    just1  
       2016-12-06 23:53:48 +08:00 via Android
    快照要自己做策略,不会没做吧
    m939594960
        7
    m939594960  
    OP
       2016-12-06 23:57:12 +08:00
    @just1 没做。。。现在已经绝望了
    xiandao7997
        8
    xiandao7997  
       2016-12-07 00:00:52 +08:00
    总会看到这类事故,不知道 linux 本身可以写脚本禁止执行这个命令吗。。。
    win 党求教。
    m939594960
        9
    m939594960  
    OP
       2016-12-07 00:11:41 +08:00
    现在不奢望什么 恢复了。。只要能把这些还活着的目录中的几个文件导出来就行
    privil
        10
    privil  
       2016-12-07 00:14:59 +08:00 via iPhone
    @m939594960 千万别关 ssh 窗口
    privil
        11
    privil  
       2016-12-07 00:16:51 +08:00 via iPhone
    @m939594960 百度 如何拯救一台 glibc 被干掉的 Linux 服务器 按照知乎这篇文章的做法试试
    Felldeadbird
        12
    Felldeadbird  
       2016-12-07 00:19:08 +08:00 via iPhone
    如果可以提供 live cd ,加 vnc 就可以解决了。
    m939594960
        13
    m939594960  
    OP
       2016-12-07 00:22:11 +08:00
    @Felldeadbird 阿里云带这个功能么?
    m939594960
        14
    m939594960  
    OP
       2016-12-07 00:22:24 +08:00
    @privil 看了正在尝试
    bdbai
        15
    bdbai  
       2016-12-07 00:25:53 +08:00 via Android
    @xiandao7997 alias 好像可以
    m939594960
        16
    m939594960  
    OP
       2016-12-07 00:30:58 +08:00
    @privil

    这次,我是把 busybox 直接写入到

    printf '...' > /bin/cp

    这步怎么操作啊 我下载了 busybox
    wwqgtxx
        17
    wwqgtxx  
       2016-12-07 01:30:08 +08:00 via iPhone
    @m939594960 人家不是写的够清楚的了

    另外找台同配置的 Linux ,用 xxd 或 hexdump 配合一点点脚本,或者直接用 python 写个小脚本,把 ld.so 文件转储成若干条 printf '...' >> file 的命令(考虑到 bash 单行命令的长度限制,我没有尝试只生成一条命令)

    你把上面那段文字中的 ld.so 替换成 busybox 不就行了

    虽然个人感觉他这个方法对你的情况不一定有用
    gamexg
        18
    gamexg  
       2016-12-07 02:01:11 +08:00
    我记得好像可以不关机做快照,先做个快照,然后用快照新建个虚拟机 2 ,联系客服再新开一个虚拟机 3 将虚拟机 2 的硬盘挂载到虚拟机 3 ,在进行读取。

    注意现在的虚拟机别关机也别关 ssh ,因为快照方案不一定有效,虽然看你的情况只是 bin 等目录被删除,数据目录未出问题,所以可以尝试快照方案。
    baichi
        19
    baichi  
       2016-12-07 02:14:50 +08:00
    python 还可以用么? 用 python -m simpleHTTPServer 试一下?
    whwq2012
        20
    whwq2012  
       2016-12-07 07:22:26 +08:00 via Android
    直接控制台登录不行吗
    kouryu
        21
    kouryu  
       2016-12-07 07:35:22 +08:00 via iPhone
    看成把阿里服务器……,刚准备进来给你点赞捐点跑路费什么的……
    wenymedia
        22
    wenymedia  
       2016-12-07 07:47:53 +08:00 via Android
    @kouryu 真的笑出了声…
    ryd994
        23
    ryd994  
       2016-12-07 07:50:44 +08:00 via Android
    不是说了只要救数据么?
    关机挂到别的虚拟机上不就行了
    momi
        24
    momi  
       2016-12-07 08:30:35 +08:00 via Android
    @m939594960 我很困惑,删除当前目录录的文件,我从来都是用 rm -rf *,如果有.开头的文件再来一次 rm -rf .*,虽然麻烦点,但绝对不会删除 /
    wyntergreg
        25
    wyntergreg  
       2016-12-07 08:54:50 +08:00   ❤️ 1
    ./*的你们是不是都是强迫症,打那个./是为了多按两次机械键盘听响吗?

    想多听响的是不是要打././././././*?
    allenhu
        26
    allenhu  
       2016-12-07 08:56:41 +08:00 via Android
    删除当前目录文件通常也就是 rm -rf *, rm -rf ./* 就不好说啥了,估计只能重装
    m939594960
        27
    m939594960  
    OP
       2016-12-07 08:59:00 +08:00
    @ryd994
    @gamexg 已经把数据救回来了 谢谢啦
    m939594960
        28
    m939594960  
    OP
       2016-12-07 08:59:38 +08:00
    @allenhu
    @wyntergreg 怪我了。。。我就是觉得./*才标准。。以后注意了 吸取教训了
    bbbb
        29
    bbbb  
       2016-12-07 09:11:23 +08:00
    求教,怎么恢复的?
    m939594960
        30
    m939594960  
    OP
       2016-12-07 09:14:15 +08:00
    @bbbb 。。有另一个同事开着 sftp 呢。。。。就把数据都拉回来了,不过系统还是没办法恢复
    PoroProCom
        31
    PoroProCom  
       2016-12-07 09:42:21 +08:00
    怎么找回来的
    ids
        32
    ids  
       2016-12-07 11:15:16 +08:00 via Android
    rm -rf / 强制删除所有数据,无解了。
    mansur
        33
    mansur  
       2016-12-07 11:39:55 +08:00
    如果是公司的就细软跑吧
    codeyung
        34
    codeyung  
       2016-12-07 11:42:56 +08:00
    ...可以
    lzx1413
        35
    lzx1413  
       2016-12-07 15:36:50 +08:00
    为啥直接上了 root 权限去删的
    m939594960
        36
    m939594960  
    OP
       2016-12-07 15:47:49 +08:00
    @lzx1413 跟一个小的外包团队弄得。。 没在乎那么多。。谁知道。长记性了
    bao3
        37
    bao3  
       2016-12-07 16:48:46 +08:00
    用 vps 任何操作前先 snapshot ,像我这样就是另开一个新的 vps , clone 一样,然后安心做任何操作。
    m939594960
        38
    m939594960  
    OP
       2016-12-07 16:49:43 +08:00
    @bao3 长记性了
    Mrxx
        39
    Mrxx  
       2016-12-07 16:52:34 +08:00
    你们都是怎么做到忍住笑认真回复的 😂
    m939594960
        40
    m939594960  
    OP
       2016-12-07 16:54:44 +08:00
    @Mrxx 告诉你个事。服务器让我 rm -rf 那天的白天,我笑了半天那个卸载 docker 被 4 楼骗 rm -rf /那个。。 晚上就有报应了。
    satifanie
        41
    satifanie  
       2016-12-07 17:30:03 +08:00
    我想起了一个笑话,重装 Nginx 删除原来的文件执行命令了: rm -fr / usr/local/nginx
    lslqtz
        42
    lslqtz  
       2016-12-07 17:44:15 +08:00 via iPhone
    还好上次我做了...
    如果没有快照,只能关机让阿里云的人帮忙数据恢复了。。。
    lslqtz
        43
    lslqtz  
       2016-12-07 17:45:14 +08:00 via iPhone
    @m939594960 我选择直接用. 不带 /* 或者在目录直接 rm -rf *
    mahone3297
        44
    mahone3297  
       2016-12-07 17:51:03 +08:00
    @m939594960 》有另一个同事开着 sftp 呢。。。。就把数据都拉回来了,不过系统还是没办法恢复
    没懂,请教 lz 。你都删除数据了,如何开个 sftp 就把数据拉回来了?
    m939594960
        45
    m939594960  
    OP
       2016-12-07 18:03:16 +08:00
    @mahone3297 还没都删掉 我 ctrl+c 的比较快
    jiangkun
        46
    jiangkun  
       2016-12-07 18:49:57 +08:00 via iPhone
    以前是有这个功能,不过现在要单独收费了。
    mengzhuo
        47
    mengzhuo  
       2016-12-07 20:04:08 +08:00
    扯吧
    删除 / 需要--no-preserve-root 这个参数的
    m939594960
        48
    m939594960  
    OP
       2016-12-08 08:56:19 +08:00
    @mengzhuo 扯什么,你去阿里云开个 ubuntu 14 的你试试
    mengzhuo
        49
    mengzhuo  
       2016-12-08 09:58:00 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3212 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 14:18 · PVG 22:18 · LAX 07:18 · JFK 10:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.