linux删除/根目录的恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux删除/根目录的恢复相关的知识,希望对你有一定的参考价值。

linux删除/根目录的恢复

  1. 原因
    今天公司里服务器硬盘报警,df查看了下,发现根目录已经>90%。像往常一样,我切换到/var/log目录下,对maillog文件进行打包备份,迁移备份数据删除老数据。在删除/tmp目录下垃圾文件时,操作失误:rm -rf ../*,我瞬间反应过来,赶紧ctrl + c!但还是晚一步,导致/目录下文件丢失。
    ##下面是我的操作
    df -h
    cd /var/log
    tar zcf maillog.180409.tgz maillog
    echo > maillog
    mv maillog.180409.tgz /data/backup/
    cd /tmp
    rm -rf ../*    //这里本应该写rm -rf ./*
  2. 查找丢失文件
    我切换至根目录,查看丢失了哪些文件,我发现已经无法使用一些命令了,具体操作如下:
    cd /
    ls
    -bash: /bin/ls: 没有那个文件或目录
    df
    -bash: /bin/df: 没有那个文件或目录
    which df
    /usr/bin/which: no df in (/usr/local/xxxx)
    mkdir /test
    -bash: mkdir: command not found

    好吧,瞬间懵逼啦,一般情况下,删除根目录跟自杀差不多,很难很难恢复!!这台服务器还是阿里云,我登录控制台查找之前做过的快照,打算回滚!发现特么最近的快照还是2017年12月份的,感觉天要亡我!
    ##不能放弃希望,赶紧查看下其他目录看看文件是否还在,毕竟我很快就ctrl + c了!说不定踩着狗屎了呢,运气这东西说不好的。。。

    [[email protected] ~]# /usr/
    bin/      etc/      games/    include/  lib/     xxxx...
    [[email protected] ~]# /usr/bin/
    Display all 1204 possibilities? (y or n)
    g++                                 xxxx
    a2p                                  gcc                                          
    ##万幸的是文件看着都还在!!估计出门真的踩着狗屎啦!!
    使用hash命令再做查看
    ##hash命令介绍:http://blog.51cto.com/wutengfei/2095951
  3. 解决方法
    ##由于手快删除的只是/bin目录,找一台系统完全一样的服务器,把bin目录拷贝过来,操作如下:
    scp -r roo[email protected]:/bin  /
    ##查看path路径,检查是否有其他路径文件丢失
    echo $PATH

以上是关于linux删除/根目录的恢复的主要内容,如果未能解决你的问题,请参考以下文章

在linux下删除的共享文件怎么恢复

从后台堆栈恢复片段时的 savedInstanceState

Linux中用extundelete恢复误删除的数据

Linux中利用extundelete恢复误删除的数据

linux-ext4格式文件误删除恢复

linux 系统 /bin文件误删恢复