1. 程式人生 > >linux刪除/根目錄的恢復

linux刪除/根目錄的恢復

linux linux刪除/根目錄的恢復 linux根目錄誤刪除恢復 linux文件恢復 rm -rf 文件恢復

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了!說不定踩著狗屎了呢,運氣這東西說不好的。。。

    [root@test ~]# /usr/
    bin/      etc/      games/    include/  lib/     xxxx...
    [root@test ~]# /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 [email protected]:/bin  /
    ##查看path路徑,檢查是否有其他路徑文件丟失
    echo $PATH

linux刪除/根目錄的恢復