1. 程式人生 > 其它 >檔案誤刪除然後恢復

檔案誤刪除然後恢復

技術標籤:shell運維linux運維centos

檔案誤刪除恢復【前提條件檔案被其它程序使用中】

1,誤刪 (恢復資料全程要求最好使用root許可權)
採用lsof 這個命令檢視被使用的檔案,不過它可以列出被各種程序開啟的檔案資訊。配合其他命令,從/proc目錄下的資訊恢復 ”檔案已刪除,但程序仍保持開啟的檔案“
例如:1)新建一個檔案 cat >> rmtest.txt <<eof

cat >> rmtest.txt <<eof
  2) 新複製一個會話,並在其中一個會話使用rmtest.txt檔案,然後在另外一個會話刪除掉rmtest.txt檔案,我採用less開啟檔案rmtest.txt檔案,在另外一個會話中,你將看到

在這裡插入圖片描述

在這裡插入圖片描述

注意被刪除的檔案的PID。
2,恢復資料
1) 切換到/proc/PID/fd/ 中,刪除檔案對應的程序的PID下的檔案描述符中的目錄中;

cd /proc/3919/fd/

2) 將對應的內容重定向或者cp到其他檔案中
在這裡插入圖片描述
3) 執行以上操作可以看到被刪除的檔案內容了,並將檔案恢復到原來目錄了。
在這裡插入圖片描述
在這裡插入圖片描述
檔案恢復還可以採用工具extundelete,後面再補這個坑。
extundelete原理:
使用儲存在分割槽日誌中的資訊,嘗試恢復已從ext3或者ext4的分割槽中刪除的檔案。