誤刪除Linux系統(tǒng)文件了?這個方法教你解決
誤刪除Linux系統(tǒng)文件了?不用急,本文將給你一個恢復(fù)Linux文件的方法,讓你輕松應(yīng)對運維中的各風(fēng)險問題。方法總比問題多~
說在前面的話
針對日常維護操作,難免會出現(xiàn)文件誤刪除的操作。大家熟知Linux文件系統(tǒng)不同win有回收站,刪除后的文件可以到垃圾箱尋回,要知道Linux文件修復(fù)比較費勁,網(wǎng)絡(luò)上面的文檔也是五花八門。所以本次研究一種比較靠譜的文件和目錄恢復(fù)方法,也給維護人員留一條后路。
分析對比debugfs. testdisk 6.14. extundelete,對比各自官網(wǎng)介紹和操作說明本次決定研究extundelete對文件和目錄的恢復(fù)操作。
extundelete下載官網(wǎng)地址:https://pkgs.org/download/extundelete
Linux下文件誤刪除,使用extundelete恢復(fù)測試過程
1、給虛擬主機添加一塊磁盤,磁盤為/dev/sdb,如下:
2、格式化磁盤,并進行掛載
- # mkfs.ext4 /dev/sdb
- # mkdir /usr/local/dbdata/
- # mount /dev/sdb /usr/local/dbdata/
3、測試誤操作刪除以下文件
- /usr/local/dbdata/gperftools-2.4.tar.gz #文件
- /usr/local/dbdata/pcre-8.32 #目錄
執(zhí)行誤操作:
- # rm -rf /usr/local/dbdata/gperftools-2.4.tar.gz /usr/local/dbdata/pcre-8.32
4、將誤操作所在分區(qū)進行只讀保護
如果確定文件被誤刪,在沒有備份的情況下請馬上對分區(qū)實施寫入保護(預(yù)防新的寫入覆蓋誤刪的塊數(shù)據(jù),因此權(quán)限給只讀):
- # mount -o remount,ro /dev/sdb
- # mount -o remount,ro /usr/local/dbdata/
5、數(shù)據(jù)恢復(fù)工具安裝
工具安裝部署
官方網(wǎng)站是http://extundelete.sourceforge.net/,其目前的穩(wěn)定版本是extundelete-0.2.4.
工具下載
- # wget https://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
解壓安裝
依賴包
- # yum -y install gcc-c++ e2fsprogs.x86_64 e2fsprogs-devel.x86_64
- # tar -jxvf extundelete-0.2.4.tar.bz2
- # cd extundelete-0.2.4
- # ./configure
- # make && make install
驗證安裝結(jié)果
- # extundelete -v
6、文件恢復(fù)過程
恢復(fù)指定文件:
原理:從根節(jié)點(inode=2)開始找到被刪除文件的i節(jié)點,然后recover i節(jié)點。
以下是模擬刪除gperftools-2.4.tar.gz(文件)和pcre-8.32 (目錄)
先檢測被刪除的文件有哪些:
- # extundelete /dev/sdb --inode 2
從圈出來的可以看到,有以下兩個
- gperftools-2.4.tar.gz 15 Deleted
- pcre-8.32 655361 Deleted
注意:恢復(fù)過程不要在誤刪分區(qū)進行,謹防inode. block塊相互覆蓋
先恢復(fù)文件(可根據(jù)文件名進行恢復(fù)):
- # extundelete /dev/sdb --restore-file gperftools-2.4.tar.gz
恢復(fù)目錄(根據(jù)目錄名恢復(fù)):
- # extundelete /dev/sdb --restore-directory pcre-8.32
***會在當(dāng)前目錄下看到一個名為RECOVERED_FILES的目錄,在目錄里就可以看到被誤刪除的文件以及目錄:
說在后面的話
根據(jù)上面操作證明extundelete 工具可以實現(xiàn)對誤刪數(shù)據(jù)的恢復(fù),而且操作簡單。
總結(jié):
1、使用rm一定要謹慎
2、磁盤按照功能進行分區(qū)是必要的
3、最少掌握一種數(shù)據(jù)恢復(fù)方式