linux ext2 檔案系統恢複被刪除的檔案 __linux

來源:互聯網
上載者:User

linux   ext2   檔案系統恢複被刪除的檔案   
    
  發布日期:2002-08-08   
  文章內容:   
  ------------------------------------------------------------------------   
  --------   
  by   deepin@nsfocus.com   
  http://www.nsfocus.com   
    
  來源於一次緊急響應,客戶通過foxmail收取了qmail   郵件伺服器上的100多封郵件   
  後刪除了,   
  但是發現這些郵件很重要,求助我們在郵件伺服器上進行恢複。   
    
  由於是遠端資料恢複,只能通過網路進行,不可能做到像傳統資料恢複那樣卸下硬   
  盤,先全盤   
  拷貝備份(實際工作中,幾乎沒有這樣的條件),再mount成唯讀進行恢複等等步   
    
    
  驟。只能根據現有的條件進行。   
  分區狀況不是很好,只是把把硬碟分為了/boot     /兩個分區,郵件系統在   
  /var/qmail下,實際   
  上也在/分區   
    
  距離被刪除已經2-3個小時,郵件系統又一直在工作,刪除以後想要100%恢複這些   
  郵件,除非上   
  帝保佑。我也只能儘儘人道。   
    
  首先把郵件系統停止,主要是他們的smtp服務(主要是那些可能寫盤的內容),然   
  後選擇工具進行恢複   
  目前有如下工具可以在linux下使用進行檔案恢複   
  http://www.fish.com/tct/   
  可以在多種unix作業系統的不同檔案分區類型上進行恢複(當然效果並不一樣),   
  包括ufs,ffs,ex2等。   
  功能最強大,體積也最龐大,操作也最麻煩。   
    
    
  http://recover.sourceforge.net/linux/recover/   
  功能單一,使用比較方便   
    
    
    
  http://e2undel.sourceforge.net   
  http://unc.dl.sourceforge.net/sourceforge/e2undel/e2undel-0.8.tgz   
    
  有一個可作一定操作選擇的互動介面,這個工具需要安裝一個e2undel的運行庫,   
  如果   
  需要恢複的檔案在/usr所在地分區上,最好不用,免得安裝它以後進一步破壞了待   
  恢複的   
  檔案(當然可以把運行庫它安裝到其他檔案系統,但是根據它的安裝要求,還比較   
  麻煩)。   
    
  unrm   
  http://packetstormsecurity.com/UNIX/utilities/unrm-0.92.tar.gz   
  一個小工具,實際上使用了linux下的debugfs命令,簡化了手工使用debugfs的步   
  驟,   
  沒有什麼互動的介面,恢複的檔案直接放倒一個固定目錄下面   
    
    
  根據這一次的情況,那些體積龐大,需要安裝的工具不在選擇範圍。我使用了   
  unrm,為了   
  不破壞資料盤內容,我把這個小工具放倒/boot區展開.假設我們需要恢複的是   
  aaa   
  這個使用者的郵件   
  這個使用者的郵件   
    
  修改一下這個指令碼中mount的路徑(原來是/usr/sbin/mount   ,這個系統是   
  /usr/bin)   
  看看/所在地分區裝置為   /dev/sda2   
    
  ./unrm   /dev/sda2   -u   qmail   -s   aaa   
    
  恢複使用者qmail被刪除的檔案,檔案中有aaa這個字串。   
  實際發現這個-s參數沒有作用   
    
  使用./unrm   /dev/sda2   -u   qmail   後,自動在目前的目錄下生了一個unrm.recover的   
  目錄   
  各個被恢複的檔案以unrm.xxxxxx   方式存放在裡面   
  經過過濾   
  grep   aaa   *   |   cut   -d   :   -f   1   |   uniq   
  找到這些檔案名稱,然後cp到原來的qmail郵件用目錄中(Maildir/new)   
  這次的結果是恢複了35個檔案,但是有4個已經基本被破壞了,完整恢複的只有31   
  個   
  試著收取郵件,一切正常。   
    
  從這次恢複工作來看,在linux的ex2檔案系統下恢複,比以前在solairs下恢複   
  ufs系統要   
  使用./unrm   /dev/sda2   -u   qmail   後,自動在目前的目錄下生了一個unrm.recover的   
  方便很多,主要ufs在刪除以後,各個檔案區塊都沒有連結關係,而ex2有點類似與   
    
  fat系統,小檔案只是丟失了第一個區塊的inode號,後面的區塊還是有連結關係的   
    
  ,大的檔案好像在一定數目的區塊後,才沒有連結關係。   
  在ufs下恢複檔案,可能還是tct相對效果要好一些。   
  歡迎訪問我們的網站http://www.nsfocus.com/   
  綠盟科技給您安全的保障

-----------------------------------------------------

http://www.linuxidc.com/Linux/2008-08/14744.htm


對於rm,很多人都有慘痛的教訓。我也遇到一次,一下午寫的程式就被rm掉了,幸好只是一個檔案,第二天很快又重新寫了一遍。但是很多人可能就不像我這麼幸運了。本文收集了一些在Linux下恢複rm刪除的檔案的方法,給大家作為參考。

  首先,最好的方法是避免這個問題,以下是幾點建議:

  1、rm -rf誤操作的後果是可怕的,rm -f也要三思而行,不能輕易使用。

 

  2、做好資料備份。

  3、用一些策略避免出錯:

  提倡在shell下用 TAB 補全,用指令碼執行任務,減少出錯的機會。或者編寫一個指令碼,起名rm,在指令碼裡將真實的rm改為mv ,將刪除的都mv到一個指定的目錄裡面,定期清理。

  那麼rm刪除的檔案還能恢複嗎?

  rm的man裡面有如下說法:

  請注意,如果使用 rm 來刪除檔案,通常仍可以將該檔案恢複原狀。如果想保證該檔案的內容無法還原,請考慮使用 shred。

  所以理論上rm刪除的檔案是還能恢複的。刪掉檔案其實只是將指向資料區塊的索引點(information nodes)釋放,只要不被覆蓋,資料其實還在硬碟上,關鍵在於找出索引點,然後將其所指資料區塊內的資料抓出,再儲存到另外的分區。在用rm誤刪除檔案後,我們要做的第一件事就是保證不再向誤刪檔案的分區寫資料。

  通常我們可以有以下幾種選擇:

  1、藉助工具。

  2、自己寫程式。你需要會編程並瞭解對應的檔案系統。

  3、如果資料很有用,也許可以找專業公司搶救。

  工具

  1、The Sleuth Kit http://www.sleuthkit.org/sleuthkit/(Autopsy是它的一個圖形前端)

  2、Foremost    http://foremost.sourceforge.net

  3、一個全能的工具,Finaldata,可以恢複unix/linux/dos下誤刪的檔案。對於unix,支援這些產品,     Solaris、AIX和HP-UX。對於linux,支援EXT2的檔案系統。對於dos,支援FAT 12/16/32, NTFS 4/5/5.1 的檔案系統。

  4、如果檔案系統是ext2(對ext3無效):

  ext3的刪除機制是直接把 inode data 刪除了,所以造成 ext3 無法反刪除(ext3設計為無法恢複被刪除的檔案)。

  unrm

  ext2ed

  debugfs(undel lsdel )

  recover

  Midnight Commander(mc)

  e2undel

  tct

  5、如果檔案系統是FAT32或者NTFS:

  EasyRecovery

  Finaldata

  6、freebsd如果使用了rm,可以試一下undelete這個命令.

  7、當進程開啟了某個檔案時,只要該進程保持開啟該檔案,lsof可以用來恢複刪除檔案。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.