Linux 誤刪檔案救援大法!
在 Windows 誤刪檔案有資源回收桶可以救回,就算資源回收桶也刪了目前也一堆成熟的軟體可以救回。那 Linux 可就不這麼幸運了,基本上大多數的 Linux Distribution 是沒有內建檔案救援的功能或程式,事 實上誤刪檔案這件事在伺服器應用中本來就不太存在。但人有失足馬有失蹄,難免 rm -rf * 就…什麼都沒有,這時候除了抱頭痛哭其實還有其他方法可以救回(當然不是尋求市面上的硬碟救援服務,除非你口袋夠深那 沒話說)。基本上 Linux 使用的 ext 系統在設計上是很安全的,到了 ext4 更是安全,如果您的檔案系統還有開啟加密的功能話,那想救回誤刪檔案的路就更加遙遠了。有一次在 Linux 為了拯救重要檔案靠的 就是 extundelete 這一套軟體,那麼讓我來介紹一下吧。
無論如何,一但發生硬碟檔案誤刪或損毀,第一件事就是重新掛載 partition 為 read-only,第二件事就是使用 dd 指令將原本的 partition copy 到另一個硬碟,至少建立了完整的分割區副本,一便不時之需。
Step 1:首先先用 wget 下載 extundelete-0.2.0.tar.bz2 這個檔案,然後使用以下指令進行解壓縮
[root@server extundelete-0.2.0]# tar -xvf extundelete-0.2.0.tar.bz2
Step 2:切換到解壓縮的目錄後先執行 ./configure
[root@server extundelete-0.2.0]# cd extundelete-0.2.0
[root@server extundelete-0.2.0]# ./configure
Configuring extundelete 0.2.0
configure: error: Can’t find ext2fs library
Step 3:再次執行 ./configure
[root@server extundelete-0.2.0]# ./configure
Configuring extundelete 0.2.0
Writing generated files to disk
Step 4:設定完成,接著執行 make 來編譯原始碼(這些動作我相信大家都很熟練了)
[root@server extundelete-0.2.0]# make
make -s all-recursive
Making all in src
Step 5:編譯好的執行檔在 src 目錄中,各位可以使用以下指令對整個 partition 進行掃描,就可以自動救回誤刪檔案,是不是很間單呢?
[root@server extundelete-0.2.0]# ./src/extundelete /dev/sda1 –restore-all
如果還是失敗就要嘗試其他方法了,其他方法可就很痛苦了,比如先掃描所有刪除的 node,再用程式分析的方式重組檔案,之前的測試沒有都成功過,如果下次有機會再與大家分享心得。
「原文轉載:http://blog.toright.com」