linux数据被删了怎么办
命令參數
https://sourceforge.net/projects/extundelete/extundelete --help
其中,參數(options)有:
--version, -[vV],顯示軟件版本號。
--help,顯示軟件幫助信息。
--superblock,顯示超級塊信息。
--journal,顯示日志信息。
--after dtime,時間參數,表示在某段時間之后被刪的文件或目錄。
--before dtime,時間參數,表示在某段時間之前被刪的文件或目錄。
動作(action)有:
--inode ino,顯示節點“ino”的信息。
--block blk,顯示數據塊“blk”的信息。
--restore-inode ino[,ino,...],恢復命令參數,表示恢復節點“ino”的文件,恢復的文件會自動放在當前目錄下的RESTORED_FILES文件夾中,使用節點編號作為擴展名。
--restore-file 'path',恢復命令參數,表示將恢復指定路徑的文件,并把恢復的文件放在當前目錄下的RECOVERED_FILES目錄中。
--restore-files 'path',恢復命令參數,表示將恢復在路徑中已列出的所有文件。
--restore-all,恢復命令參數,表示將嘗試恢復所有目錄和文件。
--j journal,表示從已經命名的文件中讀取擴展日志。
--b blocknumber,表示使用之前備份的超級塊來打開文件系統,一般用于查看現有超級塊是不是-B blocksize,通過指定數據塊大小來打開文件系統,一般用于查看已經知道大小的文件。
通過extundelete來恢復文件
如下步驟是安裝步驟
#cd?/usr/local/src
# yum? installgcc-c++
???? # yum? install??e2fsprogs-devel? e2fsprogs
#wget??http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2
#tar??-jxvpf???extundelete-0.2.4.tar.bz2
#cd??? extundelete-0.2.4
#./configure???;? make?? ;?make? install??
后面開始模擬數據的刪除和恢復
在開始刪除之前,先來確認下掛載以及對應分區的文件情況
sdb1和sdb2是ext3系列的
在mnt1、mnt2目錄下有對應文件1.file????2.file?
#cd?? /mnt1
#rm? -rvf? 1.file??#cd? /#umount?/mnt1???#extundelete /dev/sdb1 --inode 2?? //如果沒有umount,運行該命令會有數據丟失的風險
#mount /dev/sdb1?/mnt1
#extundelete?? /dev/sdb1??? --restore-file???
1.file#ls?/mnt1/1.file??
如果是恢復目錄用如下命令
#extundelete??/dev/sdb1?--restore-directory?? tmp
??? //tmp是被你刪除的原來目錄
在利用extundelete恢復文件時并不依賴特定文件格式,首先extundelete會通過文件系統的inode信息(根目錄的inode一般為2)來獲得當前文件系統下所有文件的信息,包括存在的和已經刪除的文件,這些信息包括文件名和inode。
然后利用inode信息結合日志去查詢該inode所在的block位置,包括直接塊,間接塊等信息。最后利用dd命令將這些信息備份出來,從而恢復數據文件。
end
歡迎關注微信公眾號【廈門微思網絡】。www.xmws.cn專業IT認證培訓19周年
主要課程:思科、華為、紅帽、ORACLE、VMware、CISP、PMP等認證培訓及考證?
總結
以上是生活随笔為你收集整理的linux数据被删了怎么办的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运维基础(6)CI / CD
- 下一篇: A、B、C、D、E类IP地址都是怎么划分