新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Linux下高效數據恢復軟件extundelete應用實戰

        Linux下高效數據恢復軟件extundelete應用實戰

        作者: 時間:2016-09-12 來源:網絡 收藏

        [root@cloud1 ~]# mkdir /data/test

        [root@cloud1 ~]# echo test > /data/test/mytest.txt

        [root@cloud1 ~]#cd /data

        [root@cloud1 data]# md5sum passwd

        0715baf8f17a6c51be63b1c5c0fbe8c5 passwd

        [root@cloud1 data]# md5sum test/mytest.txt

        eb42e4b3f953ce00e78e11bf50652a80 test/mytest.txt

        [root@cloud1 data]# rm -rf /data/*

        2.卸載磁盤分區

        在將數據誤刪除后,立刻需要做的就是卸載這塊磁盤分區:

        [root@cloud1 data]#cd /mnt

        [root@cloud1 mnt]# umount /data

        3.查詢可恢復的數據信息

        通過命令可以查詢/dev/sdc1分區可恢復的數據信息:

        [root@cloud1 /]# /dev/sdc1 --inode 2

        ......

        File name | Inode number | Deleted status

        . 2

        .. 2

        lost+found 11 Deleted

        passwd 49153 Deleted

        test 425985 Deleted

        ganglia-3.4.0 245761 Deleted

        根據上面的輸出,標記為Deleted狀態的是已經刪除的文件或目錄。同時還可以看到每個已刪除文件的inode值,接下來就可以恢復文件了。

        4.恢復單個文件

        執行如下命令開始恢復文件:

        [root@cloud1 /]# extundelete /dev/sdc1 --restore-file passwd

        Loading filesystem metadata ... 40 groups loaded.

        Loading journal descriptors ... 54 descriptors loaded.

        Successfully restored file passwd

        [root@cloud1 /]# cd RECOVERED_FILES/

        [root@cloud1 RECOVERED_FILES]# ls

        passwd

        [root@cloud1 RECOVERED_FILES]# md5sum passwd

        0715baf8f17a6c51be63b1c5c0fbe8c5 passwd

        extundelete恢復單個文件的參數是“--restore-file”,這里需要注意的是,“--restore-file”后面指定的是恢復文件路徑,這個路徑是文件的相對路徑。相對路徑是相對于原來文件的存儲路徑而言的,比如,原來文件的存儲路徑是/data/passwd,那么在參數后面直接指定passwd文件即可,如果原來文件的存儲路徑是/data/test/mytest.txt,那么在參數后面通過“test/mytest.txt”指定即可。

        在文件恢復成功后,extundelete命令默認會在執行命令的當前目錄下創建一個RECOVERED_FILES目錄,此目錄用于存放恢復出來的文件,所以執行extundelete命令的當前目錄必須是可寫的。

        根據上面的輸出,通過md5sum命令校驗,校驗碼與之前的完全一致,表明文件恢復成功。

        6.2通過extundelete恢復單個目錄

        extundelete除了支持恢復單個文件,也支持恢復單個目錄,在需要恢復目錄時,通過 “--restore-directory”選項即可恢復指定目錄的所有數據。

        繼續在上面模擬的誤刪除數據環境下操作,現在要恢復/data目錄下的ganglia-3.4.0文件夾,操作如下:

        [root@cloud1 mnt]# extundelete /dev/sdc1 --restore-directory /ganglia-3.4.0

        Loading filesystem metadata ... 40 groups loaded.

        Loading journal descriptors ... 247 descriptors loaded.

        Searching for recoverable inodes in directory /ganglia-3.4.0 ...

        781 recoverable inodes found.

        Looking through the directory structure for deleted files ...

        4 recoverable inodes still lost.

        [root@cloud1 mnt]# ls

        RECOVERED_FILES

        [root@cloud1 mnt]# cd RECOVERED_FILES/

        [root@cloud1 RECOVERED_FILES]# ls

        ganglia-3.4.0

        可以看到之前刪除的目錄ganglia-3.4.0已經成功恢復了,進入這個目錄檢查發現:所有文件內容和大小都正常。

        6.3 通過extundelete恢復所有誤刪除數據

        當需要恢復的數據較多時,一個個地指定文件或目錄將是一個非常繁重和耗時的工作,不過,extundelete考慮到了這點,此時可以通過“--restore-all”選項來恢復所有被刪除的文件或文件夾。

        仍然在上面模擬的誤刪除數據環境下操作,現在要恢復/data目錄下所有數據,操作過程如下:

        [root@cloud1 mnt]# extundelete /dev/sdc1 --restore-all

        Loading filesystem metadata ... 40 groups loaded.

        Loading journal descriptors ... 247 descriptors loaded.

        Searching for recoverable inodes in directory / ...

        781 recoverable inodes found.

        Looking through the directory structure for deleted files ...

        0 recoverable inodes still lost.

        [root@cloud1 mnt]# ls

        RECOVERED_FILES

        [root@cloud1 mnt]# cd RECOVERED_FILES/

        [root@cloud1 RECOVERED_FILES]# ls

        ganglia-3.4.0 passwd test

        [root@cloud1 RECOVERED_FILES]# du -sh /mnt/RECOVERED_FILES/*

        15M /mnt/RECOVERED_FILES/ganglia-3.4.0

        4.0K /mnt/RECOVERED_FILES/passwd

        8.0K /mnt/RECOVERED_FILES/test

        可以看到所有數據全部完整地恢復了。

        6.4通過extundelete恢復某個時間段的數據

        有時候刪除了大量的數據量,其中很多數據都是沒用的,我們僅需要恢復其中的一部分數據,此時,如果采用恢復全部數據的辦法,不但耗時,而且浪費資源,在這種情況下,就需要采用另外的一種恢復機制有選擇地恢復,extundelete提供了“—after”“和”--before“參數,可以通過指定某個時間段,進而只恢復這個時間段內的數據。

        下面通過一個簡單示例,描述下如何恢復某個時間段內的數據。

        我們首先假定在/data目錄下有個剛剛創建的壓縮文件ganglia-3.4.0.tar.gz,然后刪除此文件,接著卸載/data分區,開始恢復一小時內的文件,操作如下:

        [root@cloud1 ~]#cd /data/

        [root@cloud1 data]# cp /app/ganglia-3.4.0.tar.gz /data



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 喀喇沁旗| 通河县| 青阳县| 广东省| 合肥市| 澳门| 札达县| 江津市| 屏东市| 溧阳市| 余江县| 湘乡市| 张家界市| 清流县| 西平县| 永泰县| 穆棱市| 舒兰市| 开原市| 曲松县| 若尔盖县| 沅陵县| 邢台市| 仲巴县| 望江县| 五峰| 夏津县| 如东县| 蒙山县| 新巴尔虎左旗| 扬州市| 潜江市| 山阴县| 郴州市| 东乡族自治县| 遂溪县| 始兴县| 金阳县| 册亨县| 南和县| 大丰市|