Linux雜項(001) - ext4magic檔案恢復

Vinx911發表於2018-11-19

轉載自https://www.o2oxy.cn/956.html,本文僅作為筆記備份

我看了下檔案系統。ext4 檔案系統。就想到了一個軟體,ext4magic

那麼就安裝吧。百度一波。編譯的時候

configure: error: You must install the develop packages "ext2fs , blkid , e2p , uuid" to build ext4magic 

那麼就yum 一下子。找了幾個yum 倉庫。都發現沒有任何鳥用。mmp 堅持一下子。我想了下。沒有就沒有唄。看看有沒有大神

製作的rpm 包 。

到了兩點五十的時候。齷蹉。還真被我找到了。mmp 果斷下載到本地。儲存一波。前一個小時,真的很痛苦。為了編譯ext2fs blkid e2p uuid

費勁了一個多小時都沒用。 也是無奈了。這裡給出下載地址

wget https://www.o2oxy.cn/ext4magic-0.3.1-1.2.x86_64.rpm.tar.gz

解壓一下安裝rpm 安裝即可

齷蹉。這個軟體竟然支援 時間的方式恢復,牛逼,牛逼!!!!!!

下面演示一下吧

列印目錄的 Inode,這有一些可能性。

               # ext4magic /dev/sda3 -f /
               # ext4magic /dev/sda3 -I 2

              在第一示例中,輸出的是檔案系統根目錄實際索引節點。
              在第二示例中,輸入路徑名稱也是根目錄。 即:Inode 2                                            


               # ext4magic /tmp/filesystem.iso -f / -T -x

              使用檔案系統映象 "/tmp/filesystem.iso",
              搜尋並且列印所有 Block 包括根 Inode,並且列印所有不同的 Inode。(包含資料塊的塊列表)
              如果是目錄,那麼還要為每個 Inode 列印目錄的內容。
              
              
               #  ext4magic /tmp/filesystem.iso -j /tmp/journal.backup -I 8195
              -t 182                                                          

              使用檔案系統映象 "/tmp/filesystem.iso" 並且讀取從外部日誌 "/tmp/journal.backup" 
              從日誌處理 182 編號的 Inode 8195 編號。
     
     
               #  ext4magic /dev/sda3 -f user1/Documents -a $(date -d "-3 day"
              +%s) -b $(date -d "-2 day" +%s)                                 

              列印倆到三天前被刪除的路徑名 "user1/Documents" 的索引資料。 
              如果它是一個目錄,那麼(也列印)這個目錄的內容。
              如果在日誌找不到舊目錄 blocks,目錄內容將從檔案系統真實內容。         



       簡單例項

               # ext4magic /dev/sda3 -r -f user1/picture/cim01234.jpg -d /tmp

              恢復檔案剛剛被刪除 "/home/user1/picture/cim01234.jpg" .
              檔案系統已正常掛載 "/home".檔案路徑規定從指定的檔案系統根目錄並不是整個 Linux 根目錄
              不解除安裝檔案系統是不可能的,檔案將被寫在 "/tmp/user1/picture/cim01234.jpg"                     

               # ext4magic /dev/sda3 -r

              嘗試恢復在24小時前刪除的所有檔案,檔案寫在"./RECOVERDIR/"# ext4magic /dev/sda3 -R -a $(date -d "-5day" +%s)

              嘗試恢復所有檔案,即使如果他們有些已經被重寫,也能恢復所有沒有刪除的檔案。
              刪除發生在四天前。                             



               # ext4magic /dev/sda3 -M -d /home/recover

              嘗試多階段的恢復所有檔案在檔案系統已經 "rm -rf *".
              檔案寫入  "/home/recover".
              (on ext4: in this version skipped the last step.)              



               #  ext4magic  /dev/sda3 -RQ -f user1/Dokuments -a 1274210280 -b
              1274211280 -d /mnt/testrecover

              嘗試恢復目錄結構 "user1/Dokuments/". "-b" 時間戳,你必須設定刪除前的檔案,
              "-a" 時間戳阻止找到舊的檔案版本。這隻會更好的工作。
              如果你有建立或刪除檔案在 "-b" 時間戳。(它會被)寫入目錄 "/mnt/testrecover"
              如果只有少數檔案恢復,同時嘗試不用選項 -Q



               #  ext4magic  /home/filesystem.iso -Lx  -f user1 | grep "jpg" >
              ./tmpfile

               #  ext4magic   /home/filesystem.iso   -i   ./tmpfile   -r   -d
              /mnt/testrecover

              嘗試只恢復所有從目錄結構"user1/",刪除的檔案在檔名具有 "jpg" (超過 24 小時)  
              並且寫入進 "/mnt/testrecover"  - 使用一個臨時檔案 "./tmpfile" 用於檔名列表。
BUGS
       直接使用當前可讀寫的日誌開啟檔案系統會讀取產生壞塊。
       這個壞塊提供程式錯誤結果和不真實的結果。
       因此你應該永不使用這種檔案系統,直接處於開放讀寫下的日誌
       如果有必要,使用掛載過的檔案系統,建立檔案系統日誌副本並且使用 -j 選項。

刪除就恢復所有吧!!! 恢復1天前的刪除檔案!!!!

 # ext4magic /dev/sda3 -R -a $(date -d "-2day" +%s)

或者來一個四天前

 # ext4magic /dev/sda3 -R -a $(date -d "-5day" +%s)

恢復的檔案會在當前目錄下的RECOVERDIR檔案下面

多多支援!!!!

相關文章