1. 程式人生 > >linux恢復誤刪除檔案-ext3grep

linux恢復誤刪除檔案-ext3grep



linux恢復誤刪除檔案,有時候執行rm -rf * 是一件很危險的事;如果萬一不小心刪除了檔案,該如何恢復?

注意:該工具支援ext3檔案系統,不支援ext4檔案系統

1. 安裝rpm包
[[email protected]_test_26_74 /]# rpm -ivh ext3grep-0.10.2-1.el4.rf.x86_64.rpm
warning: ext3grep-0.10.2-1.el4.rf.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY
Preparing...                ########################################### [100%]
   1:ext3grep               ########################################### [100%]

2.檢視工具版本
[[email protected]_test_26_74 /]# ext3grep -v
Running ext3grep version 0.10.2
ext3grep v0.10.2, Copyright (C) 2008 Carlo Wood.
ext3grep comes with ABSOLUTELY NO WARRANTY;
This program is free software; your freedom to use, change
and distribute this program is protected by the GPL.

3.建立一個檔案系統:
[

[email protected]_test_26_74 ~]# mkfs -t ext3 /dev/sdb1

4.掛載檔案系統
[[email protected]_test_26_74 /]# mount /dev/sdb1  /test

5.複製幾個檔案到/test

[[email protected]_test_26_74 test]# ll -ssh
total 65M
4.0K -rw-r--r-- 1 root root   56 Dec 30 11:19 aaa.txt
 16K drwx------ 2 root root  16K Dec 30 11:17 lost+found
872K -rw-r--r-- 1 root root 865K Dec 30 11:19 nginx-1.9.7.tar.gz
 64M -rw-r--r-- 1 root root  64M Dec 30 11:19 software.tar
 

6.刪除/test下所有檔案

[[email protected]_test_26_74 test]# rm -rf *
[[email protected]_test_26_74 test]# ll
total 0
[[email protected]_test_26_74 test]#


到此/test目錄下沒有檔案和目錄,下面我們就開始恢復所有檔案和目錄。

7. 解除安裝/dev/sdb1分割槽,防止磁碟有更多的讀寫操作,覆蓋了刪除的檔案
[[email protected] ~]# umount /test


8. 查詢恢復資料資訊

[[email protected] ~]# ext3grep /dev/sdb1 --ls --inode 2
主要用於掃描當前檔案系統下所有檔案的資訊,包括存在的和已刪除的檔案,其中含有D表示就是已經刪除的檔案,如果不記得被刪除的檔案的名稱,

[[email protected]_test_26_74 /]# ext3grep /dev/sdb1 --ls --inode 2
Running ext3grep version 0.10.2
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.
Number of groups: 9
Loading group metadata... done
Minimum / maximum journal block: 131535 / 139736
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 1451445526 = Wed Dec 30 11:18:46 2015
Number of descriptors in journal: 36; min / max sequence numbers: 2 / 5
Inode is Allocated
Finding all blocks that might be directories.
D: block containing directory start, d: block containing more directory entries.
Each plus represents a directory start that references the same inode as a directory start that we found previously.

Searching group 0: DD
Searching group 1:
Searching group 2:
Searching group 3:
Searching group 4: ++
Searching group 5:
Searching group 6:
Searching group 7:
Searching group 8:
Writing analysis so far to 'sdb1.ext3grep.stage1'. Delete that file if you want to do this stage again.
Result of stage one:
  2 inodes are referenced by one or more directory blocks, 1 of those inodes is still allocated.
  1 inodes are referenced by more than one directory block, 1 of those inodes is still allocated.
  0 blocks contain an extended directory.
Result of stage two:
  1 of those inodes could be resolved because it is still allocated.
All directory inodes are accounted for!


Writing analysis so far to 'sdb1.ext3grep.stage2'. Delete that file if you want to do this stage again.
The first block of the directory is 529.
Inode 2 is directory "".
Directory block 529:
          .-- File type in dir_entry (r=regular file, d=directory, l=symlink)
          |          .-- D: Deleted ; R: Reallocated
Indx Next |  Inode   | Deletion time                        Mode        File name
==========+==========+----------------data-from-inode------+-----------+=========
   0    1 d       2                                         drwxr-xr-x  .
   1  end d       2                                         drwxr-xr-x  ..
   2    3 d      11  D 1451445637 Wed Dec 30 11:20:37 2015  drwx------  lost+found
   3    4 r      12  D 1451445637 Wed Dec 30 11:20:37 2015  rrw-r--r--  nginx-1.9.7.tar.gz
   4  end r      13  D 1451445637 Wed Dec 30 11:20:37 2015  rrw-r--r--  software.tar
   5  end r      14  D 1451445636 Wed Dec 30 11:20:36 2015  rrw-r--r--  aaa.txt
  

9. 恢復單個檔案
註明:要恢復被刪除的某個檔案,操作如下:

[[email protected]_test_26_74 /]# ext3grep /dev/sdb1 --restore-file nginx-1.9.7.tar.gz
Running ext3grep version 0.10.2
WARNING: I don't know what EXT3_FEATURE_COMPAT_EXT_ATTR is.
Number of groups: 9
Minimum / maximum journal block: 131535 / 139736
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 1451445526 = Wed Dec 30 11:18:46 2015
Number of descriptors in journal: 36; min / max sequence numbers: 2 / 5
Loading sdb1.ext3grep.stage2... done
Restoring nginx-1.9.7.tar.gz


10. 檢視是否恢復成功,在當前目錄會生成一個目錄RESTORED_FILES

[[email protected]_test_26_74 /]# cd /RESTORED_FILES/
[[email protected]_test_26_74 RESTORED_FILES]# # ll -ssh
total 66M
4.0K -rw-r--r-- 1 root root   56 Dec 30 11:37 aaa.txt
4.0K drwx------ 2 root root 4.0K Dec 30 11:35 lost+found
872K -rw-r--r-- 1 root root 865K Dec 30 11:35 nginx-1.9.7.tar.gz
 64M -rw-r--r-- 1 root root  64M Dec 30 11:35 software.tar
 
 可以看到已經恢復回來了!

 
11. 重新掛載分割槽
[[email protected]_test_26_74 test]# mount /dev/sdb1 /test

將恢復的檔案和目錄移動到原來的目錄中
[[email protected]_test_26_74 RESTORED_FILES]# cp * /test -R

可以看到都恢復了,到此資料恢復完成。
[[email protected]_test_26_74 test]# ll -ssh
total 66M
4.0K -rw-r--r-- 1 root root   56 Dec 30 11:37 aaa.txt
4.0K drwx------ 2 root root 4.0K Dec 30 11:35 lost+found
872K -rw-r--r-- 1 root root 865K Dec 30 11:35 nginx-1.9.7.tar.gz
 64M -rw-r--r-- 1 root root  64M Dec 30 11:35 software.tar


二、恢復所有檔案和目錄
[[email protected]_test_26_74 /]# ext3grep /dev/sdb2 --restore-all


註明:“--restore-all”引數將指定儲存裝置中可以恢復的檔案都恢復出來並放到了“RESTORED_FILES”目錄中;
“--restore-all”引數對恢復大量資料檔案時非常有用。

相關推薦

linux恢復刪除檔案-ext3grep

 linux恢復誤刪除檔案,有時候執行rm -rf * 是一件很危險的事;如果萬一不小心刪除了檔案,該如何恢復? 注意:該工具支援ext3檔案系統,不支援ext4檔案系統 1. 安裝rpm包

linux恢復刪除檔案(到處粘來的,沒有驗證過)

 1、恢復ext3檔案系統中的刪除檔案操作: (1)[email protected]:~$sudo ext3grep /dev/sdb1 --ls --inode 2  查詢/dev/sdb1檔案系統下刪除的所有檔案。顯示內容如下: Runningext3grep version 0.10.1

linux恢復刪除文件-extundelete

linux恢復誤刪除文件-extunde經過本人測試該工具支持ext3和ext4文件系統當發現某個分區的數據被誤刪除後,要做的第一件事是立刻卸載被誤刪除文件所在的分區,或者重新以只讀方式掛載此分區。這麽做的原因其實很簡單:刪除一個文件,就是將文件inode節點中的扇區指針清除,同時,釋放這些數據對應的數據塊,

Linux恢復刪除文件

恢復誤刪除文件 Linux恢復誤刪除文件 環境要求:在虛擬機裏新建一個文件系統,在文件系統裏創建數個文件,模擬文件誤刪除在恢復實驗。 編譯安裝extundelete軟件包先使用yum倉庫安裝依賴包e2fsprogs-libs、e2fsprogs-devel(yum倉庫制作詳見前文,這裏不再贅訴)掛載Wind

Linux ext4檔案系統下 extundelete 恢復 刪除檔案

1、檔案基本操作 1.1 檢視檔案 # ls   1.2 建立 1.2.1 建立檔案 # touch {file_name} # vim {file_name}   1.2.2 建立目錄 # mkdir -p {dir}   1.3 複製 1.3.1 複

Linux恢復刪除檔案,釋放刪除空間

參考網址https://www.cnblogs.com/z-sm/p/6108689.html 鍵入命令:lsof |grep deleted 找到刪除的檔案。 恢復程序號為1464的檔案 需要先建立路徑/home/hadoop/zktmp/version-2 cat /

linux刪除檔案後的恢復操作

下面介紹具體方法: 先說下我準備刪除的檔案為/root/silencewolf/silencewolf.sh 裡面內容如下: 執行rm -f silencewolf.sh,用ls檢視資料夾為空了 下面開始恢復檔案,具體操作如下: 1、輸入debugfs,開

Linux系統 刪除kvm虛擬機數據恢復方法-數據恢復成功案例

linux 虛擬機 kvm 數據恢復 誤刪除 一、虛擬機故障環境描述客戶的物理機器操作系統為Linux系統,文件系統為EXT4文件系統。其上的KVM虛擬機被刪除,每臺虛擬機包含一個qcow2格式的磁盤文件,和一個大小約為1.2T的raw格式的磁盤文件,主要需恢復raw格式的磁盤文件。客戶已

Linux中用extundelete恢復刪除的數據

extundelete 數據恢復 數據丟失 誤刪除 extundelete是一個用來恢復ext3、ext4分區的文件的工具。它會利用分區中的日誌信息嘗試恢復被刪除的文件。但是,並非每個被刪除的文件都能確保被恢復,所以養成良好的備份習慣是非常重要的。extundelete恢復文件的原理在恢復文件

linux恢復刪除的數據文件

linux 數據還原在linux系統運維中,經常會遇到各種因操作不慎、操作失誤等行為導致數據丟失的情況,此時我們可以利用extundelete進行數據的恢復。一、 實驗前的準備 新建一個磁盤 在虛擬機設置窗口中,找到“硬盤”,點擊“添加”,在打開的“添加硬件向導”窗口中,選中“硬盤”,點擊下一步,接下

Linux EXT檔案系統恢復檔案的方法

我們在管理資料庫和系統的時候,經常需要做rm 刪除檔案的操作。由於Linux是沒有回收站的,rm刪除了檔案或者目錄以後,資料是無法從Windows所謂的回收站中找到並恢復的。這樣的話,資料被誤刪除了以後,想要恢復我們一般需要從備份中,或者找資料恢復公司來恢復資料。但是,在某些比較特殊的情況下,使用了

Linux ext4文件系統下 extundelete 恢復 刪除的文件

磁盤操作 mkfs 4.5 1.5 del 查看 -a 誤刪除 目錄名 1、文件基本操作 1.1 查看文件 # ls   1.2 創建 1.2.1 創建文件 # touch {file_name} # vim {file_name}   1.2.2 創

github恢復刪除檔案

如果,一不小心誤刪除了自己本地的分支,又順手把遠端的分支也刪除了,可上面還有自己辛辛苦苦擼的程式碼,怎麼找回?———拯救方法來了:1.首先在自己的本地的Git倉庫裡找到,自己編輯的專案檔案然後,右擊,選

Linux命令列刪除檔案恢復

  在Linux下工作的很多人都有過這樣的尷尬經歷,辛辛苦苦寫了很久的程式碼或者文件,一個不小心就rm掉了,命令列刪除一般不會進入回收站,這時候是不是想死的心都有了。          先說說活生生的悲劇是怎麼發生的。          先是認認真真寫了一個下午指令碼set

Idea刪除檔案恢復問題

前幾天自己的本地css出現錯誤,所以想刪除自己的本地檔案在更新程式碼管理庫的,誰知道刪除以後無法通過程式碼更新恢復,導致專案組的同事下載更新程式碼後大家css的程式碼都有問題,都缺失了那個檔案。後來大牛幫忙恢復的。記下來了大神的操作所以寫下來分享給大家。 第一步找到出錯的版

Linux之——利用extundelete恢復刪除的資料

利用extundelete工具恢復磁碟誤刪除的資料原理:簡單介紹下關於inode的知識。在Linux下可以通過“ls -id”命令來檢視某個檔案或者目錄的inode值,例如檢視根目錄的inode值,可以輸入:[[email protected] Server-100

Linux命令列刪除檔案恢復(Ubuntu)

        在Linux系統下,通過命令“rm -rf”可以將任何資料直接從硬碟刪除,並且沒有任何提示,同時Linux下也沒有與Windows下回收站類似的功能,也就意味著,資料在刪除後通過常 規的手段是無法恢復的,因此使用這個命令要非常慎重。在使用rm命令的時候,比較

linux下rm刪除檔案恢復

檢視刪除的檔案所在分割槽:$df -h/dev/sda5       431G  353G   57G  87% /"/"表示home目錄,可以知道分割槽是/dev/sda5執行debugfs:$sudo debugfs$open /dev/sda5$ls -d 被刪除的檔案

Linux用extundelete恢復檔案

誤刪後應急處理 立刻umount誤刪檔案所在磁碟,或立刻強行關機 千萬不要在未umount磁碟情況下正常關機,因為關機時會寫入一些檔案,導致部分檔案被覆蓋 Extundelete安裝 sudo apt-get install extun

Git 恢復刪除的本地倉庫文件

信息 倉庫 rm git commit 在工作中使用首先使用git add *添加文件到本地倉庫裏,git commit -m "****"之後發現添加了一些自己不想提交的代碼;所以使用了git rm *~刪除了本地倉庫裏所有add的文件,最後發現本地代碼也沒有了,怎麽辦? 1、首先使用