日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀] 作為一名運維人員,保證數(shù)據(jù)的安全是根本職責,所以在維護系統(tǒng)的時候,要慎之又慎,但是有時難免會出現(xiàn)數(shù)據(jù)被誤刪除的情況,在這個時候改如何快速、有效地恢復數(shù)據(jù)呢?本文

 作為一名運維人員,保證數(shù)據(jù)的安全是根本職責,所以在維護系統(tǒng)的時候,要慎之又慎,但是有時難免會出現(xiàn)數(shù)據(jù)被誤刪除的情況,在這個時候改如何快速、有效地恢復數(shù)據(jù)呢?本文我們就來介紹一下Linux系統(tǒng)下常用的幾個數(shù)據(jù)恢復工具。

一、如何使用“rm -rf”命令

在Linux系統(tǒng)下,通過命令“rm -rf”可以將任何數(shù)據(jù)直接從硬盤刪除,并且沒有任何提示,同時Linux下也沒有與Windows下回收站類似的功能,也就意味著,數(shù)據(jù)在刪除后通過常規(guī)的手段是無法恢復的,因此使用這個命令要非常慎重。在使用rm命令的時候,比較穩(wěn)妥的方法是把命令參數(shù)放到后面,這樣有一個提醒的作用。其實還有一個方法,那就是將要刪除的東西通過mv命令移動到系統(tǒng)下的/tmp目錄下,然后寫個腳本定期執(zhí)行清除操作,這樣做可以在一定程度上降低誤刪除數(shù)據(jù)的危險性。

其實保證數(shù)據(jù)安全最好的方法是做好備份,雖然備份不是萬能的,但是沒有備份是萬萬不行的。任何數(shù)據(jù)恢復工具都有一定局限性,都不能保證完整地恢復出所有數(shù)據(jù),因此,把備份作為核心,把數(shù)據(jù)恢復工具作為輔助是運維人員必須堅持的一個準則。

二、extundelete與ext3grep的異同

在Linux下,基于開源的數(shù)據(jù)恢復工具有很多,常見的有debugfs、R-Linux、ext3grep、extundelete等,比較常用的有ext3grep和extundelete,這兩個工具的恢復原理基本一樣,只是extundelete功能更加強大,本文重點介紹extundelete的使用。

三、extundelete的恢復原理

在介紹使用extundelete進行恢復數(shù)據(jù)之前,簡單介紹下關于inode的知識。在Linux下可以通過“ls –id”命令來查看某個文件或者目錄的inode值,例如查看根目錄的inode值,可以輸入:

[root@cloud1 ~]# ls -id /

2 /

由此可知,根目錄的inode值為2。

在利用extundelete恢復文件時并不依賴特定文件格式,首先extundelete會通過文件系統(tǒng)的inode信息(根目錄的inode一般為2)來獲得當前文件系統(tǒng)下所有文件的信息,包括存在的和已經(jīng)刪除的文件,這些信息包括文件名和inode。然后利用inode信息結合日志去查詢該inode所在的block位置,包括直接塊,間接塊等信息。最后利用dd命令將這些信息備份出來,從而恢復數(shù)據(jù)文件。

四、 安裝extundelete

extundelete的官方網(wǎng)站是http://extundelete.sourceforge.net/ ,其目前的穩(wěn)定版本是extundelete-0.2.4。,在安裝extundelete之前需要安裝e2fsprogs和e2fsprogs-libs兩個依賴包。

e2fsprogs和e2fsprogs-libs安裝非常簡單,這里不做介紹。下面是extundelete的編譯安裝過程:

[root@cloud1 app]#tar jxvf extundelete-0.2.4.tar.bz2

[root@cloud1 app]#cd extundelete-0.2.4

[root@cloud1 extundelete-0.2.4]#./configure

[root@cloud1 extundelete-0.2.4]#make

[root@cloud1 extundelete-0.2.4]#make install

成功安裝extundelete后,會在系統(tǒng)中生成一個extundelete可執(zhí)行文件。extundelete的使用非常簡單,讀者可以通過“extundelete --help”獲得此軟件的使用方法。

五、extundelete用法詳解

extundelete安裝完成后,就可以執(zhí)行數(shù)據(jù)恢復操作了,本節(jié)詳細介紹下extundelete每個參數(shù)的含義。extundelete用法如下:

extundelete --help

命令格式:

1

extundelete [options] [action] device-file

其中參數(shù)(options)有:

--version, -[vV],顯示軟件版本號。

--help,顯示軟件幫助信息。

--superblock,顯示超級塊信息。

--journal,顯示日志信息。

--after dtime,時間參數(shù),表示在某段時間之后被刪的文件或目錄。

--before dtime,時間參數(shù),表示在某段時間之前被刪的文件或目錄。

動作(action)有:

--inode ino,顯示節(jié)點“ino”的信息。

--block blk,顯示數(shù)據(jù)塊“blk”的信息。

--restore-inode ino[,ino,...],恢復命令參數(shù),表示恢復節(jié)點“ino”的文件,恢復的文件會自動放在當前目錄下的RESTORED_FILES文件夾中,使用節(jié)點編號作為擴展名。

--restore-file 'path',恢復命令參數(shù),表示將恢復指定路徑的文件,并把恢復的文件放在當前目錄下的RECOVERED_FILES目錄中。

--restore-files 'path',恢復命令參數(shù),表示將恢復在路徑中已列出的所有文件。

--restore-all,恢復命令參數(shù),表示將嘗試恢復所有目錄和文件。

-j journal,表示從已經(jīng)命名的文件中讀取擴展日志。

-b blocknumber,表示使用之前備份的超級塊來打開文件系統(tǒng),一般用于查看現(xiàn)有超級塊是不是當前所要的文件。

-B blocksize,表示使用數(shù)據(jù)塊大小來打開文件系統(tǒng),一般用于查看已經(jīng)知道大小的文件。

六、實戰(zhàn):extundelete恢復數(shù)據(jù)的過程

在數(shù)據(jù)被誤刪除后,第一時間要做的是卸載被刪除數(shù)據(jù)所在的磁盤或磁盤分區(qū),如果是系統(tǒng)根分區(qū)的數(shù)據(jù)遭到誤刪除,就需要將系統(tǒng)進入單用戶,并且將根分區(qū)以只讀模式掛載。這樣做的原因很簡單,因為將文件刪除后,僅僅是將文件的inode結點中的扇區(qū)指針清零,實際文件還存儲在磁盤上,如果磁盤以讀寫模式掛載,這些已刪除的文件的數(shù)據(jù)塊就可能被操作系統(tǒng)重新分配出去,在這些數(shù)據(jù)塊被新的數(shù)據(jù)覆蓋后,這些數(shù)據(jù)就真的丟失了,恢復工具也回力無天。所以,以只讀模式掛載磁盤可以盡量降低數(shù)據(jù)塊中數(shù)據(jù)被覆蓋的風險,以提高恢復數(shù)據(jù)成功的比率。

6.1通過extundelete恢復單個文件

1.模擬數(shù)據(jù)誤刪除環(huán)境

在演示通過extundelete恢復數(shù)據(jù)之前,我們首先要模擬一個數(shù)據(jù)誤刪除環(huán)境,這里我們以ext3文件系統(tǒng)為例,在ext4文件系統(tǒng)下的恢復方式與此完全一樣。簡單的模擬操作過程如下:

[root@cloud1 ~]#mkdir /data

[root@cloud1 ~]#mkfs.ext3 /dev/sdc1

[root@cloud1 ~]#mount /dev/sdc1 /data

[root@cloud1 ~]# cp /etc/passwd /data

[root@cloud1 ~]# cp -r /app/ganglia-3.4.0 /data[!--empirenews.page--]

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

[root@cloud1 ~]# echo "extundelete 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.卸載磁盤分區(qū)

在將數(shù)據(jù)誤刪除后,立刻需要做的就是卸載這塊磁盤分區(qū):

[root@cloud1 data]#cd /mnt

[root@cloud1 mnt]# umount /data

3.查詢可恢復的數(shù)據(jù)信息

通過extundelete命令可以查詢/dev/sdc1分區(qū)可恢復的數(shù)據(jù)信息:

[root@cloud1 /]# extundelete /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

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

4.恢復單個文件

執(zhí)行如下命令開始恢復文件:

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

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

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

6.2通過extundelete恢復單個目錄

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

繼續(xù)在上面模擬的誤刪除數(shù)據(jù)環(huán)境下操作,現(xiàn)在要恢復/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已經(jīng)成功恢復了,進入這個目錄檢查發(fā)現(xiàn):所有文件內(nèi)容和大小都正常。

6.3 通過extundelete恢復所有誤刪除數(shù)據(jù)

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

仍然在上面模擬的誤刪除數(shù)據(jù)環(huán)境下操作,現(xiàn)在要恢復/data目錄下所有數(shù)據(jù),操作過程如下:

[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

可以看到所有數(shù)據(jù)全部完整地恢復了。

6.4通過extundelete恢復某個時間段的數(shù)據(jù)

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

下面通過一個簡單示例,描述下如何恢復某個時間段內(nèi)的數(shù)據(jù)。

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

[root@cloud1 ~]#cd /data/

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

[root@cloud1 data]# date +%s

1379150309

[root@cloud1 data]# rm -rf ganglia-3.4.0.tar.gz

[root@cloud1 data]# cd /mnt

[root@cloud1 mnt]# umount /data

[root@cloud1 mnt]# date +%s

1379150340

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

Only show and process deleted entries if they are deleted on or after 1379146740 and before 9223372036854775807.

Loading filesystem metadata ... 40 groups loaded.

Loading journal descriptors ... 247 descriptors loaded.

Searching for recoverable inodes in directory / ...

779 recoverable inodes found.

[root@cloud1 mnt]# cd RECOVERED_FILES/

[root@cloud1 RECOVERED_FILES]# ls

ganglia-3.4.0.tar.gz

可以看到,剛才刪除的文件,已經(jīng)成功恢復,而在/data目錄下還有很多被刪除的文件卻沒有恢復,這就是”--after“參數(shù)控制的結果,因為/data目錄下其他文件都是在一天之前刪除的,而我們恢復的是一個小時之內(nèi)被刪除的文件,這就是沒有恢復其他被刪除文件的原因。

在這個操作過程中,需要注意是“--after”參數(shù)后面跟的時間是個總秒數(shù)。起算時間為“1970-01-01 00:00:00 UTC”,通過“date +%s”命令即可將當前時間轉換為總秒數(shù),因為恢復的是一個小時之內(nèi)的數(shù)據(jù),所以“1379146740”這個值就是通過“1379150340”減去“60*60=3600”獲得的。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

舍弗勒以"專注驅動技術的科技公司"為主題亮相IAA MOBILITY 2025(B3館B40展臺) 合并緯湃科技后首次亮相IAA MOBILITY,展示拓展后的汽車產(chǎn)品組合 憑借在軟件、...

關鍵字: 電氣 軟件 驅動技術 BSP

11萬+人次!5000+海外買家! 展會落幕,感恩同行!明年8月深圳再見! 深圳2025年9月1日 /美通社/ -- 據(jù)物聯(lián)網(wǎng)世界報道。 在AIoT(人工智能+物聯(lián)網(wǎng))技術加速滲透、全球數(shù)字化轉型深化,以...

關鍵字: IoT 物聯(lián)網(wǎng) TE IC

深圳2025年8月27日 /美通社/ -- 2025 年 8 月 27 日至29日,IOTE 2025 第二十四屆國際物聯(lián)網(wǎng)展?深圳站于深圳國際會展中心隆重舉行。連接與傳感領域的全球性技術企業(yè) TE Conne...

關鍵字: TE CONNECTIVITY IoT 物聯(lián)網(wǎng)

上海2025年8月26日 /美通社/ -- 在全球數(shù)字經(jīng)濟加速演進的時代浪潮中,海量數(shù)據(jù)資源正成為企業(yè)發(fā)展的雙刃劍。超66%的企業(yè)面臨"數(shù)據(jù)沉睡"危機——分散于供應鏈、財務、客戶運營等數(shù)十個系統(tǒng)的業(yè)務...

關鍵字: AI 模型 軟件 數(shù)據(jù)分析

CPU親和度通過限制進程或線程可以運行的CPU核心集合,使得它們只能在指定的CPU核心上執(zhí)行。這可以減少CPU緩存的失效次數(shù),提高緩存命中率,從而提升系統(tǒng)性能。

關鍵字: Linux 嵌入式

北京2025年8月19日 /美通社/ -- 美通社(PR Newswire)母公司,全球消費者與媒體情報領軍企業(yè)Cision今日正式宣布,旗下CisionOne平臺連續(xù)第二年榮獲市場情報權威機構MarTech Break...

關鍵字: CIS THROUGH TE IO

在Linux系統(tǒng)性能優(yōu)化中,內(nèi)存管理與網(wǎng)絡連接處理是兩大核心領域。vm.swappiness與net.core.somaxconn作為關鍵內(nèi)核參數(shù),直接影響系統(tǒng)在高負載場景下的穩(wěn)定性與響應速度。本文通過實戰(zhàn)案例解析這兩個...

關鍵字: Linux 內(nèi)存管理

加快開發(fā)進程;提升質(zhì)量、安全性、性能與成本效益 利用耐世特在底盤領域的專業(yè)知識和線控技術產(chǎn)品組合 美國密西根州奧本山2025年8月11日 /美通社/ --?耐...

關鍵字: MOTION 軟件 運動控制 NI

從自然汲取,向未來創(chuàng)造 上海2025年8月8日 /美通社/ -- 2025 世界機器人大會將于8月8-12日在北京亦創(chuàng)國際會展中心拉開帷幕,F(xiàn)esto(A112展位­)將以"從自然汲取,向未來創(chuàng)造&q...

關鍵字: FESTO 機器人 BSP 軟件

- 全球人工智能數(shù)據(jù)中心基礎設施領導者Zettabyte獲Lam Capital戰(zhàn)略投資 Lam Capital與Foxconn、Pegatron和Wistron攜手參與...

關鍵字: API TE AI 人工智能
關閉