當前位置:首頁 » 操作系統 » linux恢復rm刪除的文件

linux恢復rm刪除的文件

發布時間: 2022-09-24 10:27:30

『壹』 linux系統ext4文件系統rm刪除的文件怎麼恢復

系統:Oracle Linux OEL6.5 x64
分區格式:ext4
起因:今天手賤在自己伺服器上誤操作將/home/ORACLE目錄給刪除了,結果導致服務全面崩潰
遂谷歌了一把發現了神器 extundelete(如果是ext3文件系統請使用ext3grep,本人未做測試),這玩意可比瘟得死下面的各種恢復工具強大多了(至少本人是這么認為的)。

關於extundelete這個工具的說明使用,官方網站extundelete.sourceforge.net是這樣說的,extundelete是一種實用的工具,可以從ext3或ext4分區恢復被刪除的文件,不能保證恢復所有的文件,所以最好能做好備份.它的最新版本是0.2.4
為什麼要用extundelete?
官方這樣描述,如果您已經在ext4的文件系統中刪除了文件,選extundelete是一個不錯的選擇,它能夠恢復已刪除文件的文件名及內容.如果是在ext3的文件系統中刪除了文件,extundelete和ext3grep比較仍然有一些優點,extundelete分析日誌文件後,能夠立即恢復一個文件,ext3grep分析整個硬碟才開始恢復硬碟中的文件,ext3grep方法是是有效的從一個小分區恢復多個文件,所以相比而言,如果需要從一個大的分區中恢復文件,extundelete要快些.
注意:在安裝extundelete之前,要確定已經安裝了e2fsprogs和e2fslibs(確定e2fsprogs的版本在1.41或者更高版本,可通過運行命令mpe2fs來查看版本).
一、下載及安裝軟體
extundelete 主頁:http://extundelete.sourceforge.net/
下載地址:http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 (需 跨牆)
ubuntu用戶可直接安裝: apt-get install extundelete

# wget http://nchc.dl.sourceforge.NET/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
# tar -jxvf extundelete-0.2.4.tar.bz2
# cd extundelete-0.2.4
# ./configure --prefix=/usr/local/extundelete
# make && make install

extundelete --help 查看有哪些選項 --restore-file 指定恢復文件, --restore-all 恢復全部等等,恢復完成後,恢復的文件就在當前目錄下生成的RECOVERED_FILES的目錄里.

實測:rm -rf /home/oracle
[plain] view plain
[root@rac1 extundelete-0.2.4]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4 50G 19G 29G 40% /
tmpfs tmpfs 998M 80K 998M 1% /dev/shm
/dev/sda1 ext4 477M 55M 397M 13% /boot
/dev/mapper/VolGroup-lv_home ext4 28G 44M 26G 1% /home
二、數據恢復
1.卸載需要恢復文件的分區
[root@rac1 extundelete-0.2.4]# fuser -k ?home <-- 結束使用某分區的進程樹
[root@rac1 extundelete-0.2.4]# umount /home <-- 卸載分區

2.使用extundelete查看分區上存在的文件

[plain] view plain
[root@rac1 extundelete-0.2.4]# extundelete --inode 2 /dev/mapper/VolGroup-lv_home <div class="crayon-pre" style="box-sizing: border-box; padding: 0px; margin: 0px; white-space: pre; overflow: visible; font-family: monospace !important; background-image: none !important; border: none !important; color: rgb(255, 255, 255) !important; font-size: 15px !important; line-height: 20px !important;"><div class="crayon-line" id="crayon-53febd9362e4c249413479-1" style="box-sizing: border-box; font-family: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; font-size: inherit !important; line-height: inherit !important; background-position: 0px 50%;"><span class="crayon-c" style="box-sizing: border-box; font-family: inherit; height: inherit; font-size: inherit !important; line-height: inherit !important; color: rgb(255, 140, 0) !important;"> # --inode 為查找某i節點中的內容,使用2則說明為搜索,如果需要進入目錄搜索,只須要指定目錄I節點即可</span></div></div>NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 221 groups loaded.
Group: 0
Contents of inode 2:
0000 | ed 41 00 00 00 10 00 00 74 85 fe 53 72 85 fe 53 | .A......t..Sr..S
0010 | 72 85 fe 53 00 00 00 00 00 00 03 00 08 00 00 00 | r..S............
0020 | 00 00 08 00 02 00 00 00 0a f3 01 00 04 00 00 00 | ................
0030 | 00 00 00 00 00 00 00 00 01 00 00 00 11 24 00 00 | .............$..
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0080 | 1c 00 00 00 cc 8f 32 d4 cc 8f 32 d4 1c 8c d6 9d | ......2...2.....
0090 | d1 21 ea 53 00 00 00 00 00 00 00 00 00 00 02 ea | .!.S............
00a0 | 07 06 3c 00 00 00 00 00 21 00 00 00 00 00 00 00 | ..<.....!.......
00b0 | 73 65 6c 69 6e 75 78 00 00 00 00 00 00 00 00 00 | selinux.........
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00d0 | 00 00 00 00 00 00 00 00 00 00 00 00 73 79 73 74 | ............syst
00e0 | 65 6d 5f 75 3a 6f 62 6a 65 63 74 5f 72 3a 68 6f | em_u:object_r:ho
00f0 | 6d 65 5f 72 6f 6f 74 5f 74 3a 73 30 00 00 00 00 | me_root_t:s0....

Inode is Allocated
File mode: 16877
Low 16 bits of Owner Uid: 0
Size in bytes: 4096
Access time: 1409189236
Creation time: 1409189234
Modification time: 1409189234
Deletion Time: 0
Low 16 bits of Group Id: 0
Links count: 3
Blocks count: 8
File flags: 524288
File version (for NFS): 0
File ACL: 0
Directory ACL: 0
Fragment address: 0
Direct blocks: 127754, 4, 0, 0, 1, 9233, 0, 0, 0, 0, 0, 0
Indirect block: 0
Double indirect block: 0
Triple indirect block: 0

File name | Inode number | Deleted status
. 2
.. 2
lost+found 11
oracle 523265 Deleted

被刪除的oracle文件夾已經被找到,狀態為已經刪除,接下來就將它們恢復出來。

[root@rac1
Desktop]# extundelete --restore-all /dev/mapper/VolGroup-lv_home # --restore-all是全部恢復 ,默認全將恢復出來的文件放在當前路徑 RECOVERED_FILES/ 目錄下,文件名為 file.I節點號
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 221 groups loaded.
Loading journal descriptors ... 3108 descriptors loaded.
Searching for recoverable inodes in directory / ...
3576 recoverable inodes found.
Looking through the directory structure for deleted files ...
0 recoverable inodes still lost.

[root@rac1 Desktop]# ls RECOVERED_FILES/
lost+found oracle
[root@rac1 Desktop]# mount /home
[root@rac1 Desktop]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4 50G 21G 26G 45% /
tmpfs tmpfs 998M 80K 998M 1% /dev/shm
/dev/sda1 ext4 477M 55M 397M 13% /boot
/dev/mapper/VolGroup-lv_home ext4 28G 44M 26G 1% /home
[root@rac1 Desktop]# mv RECOVERED_FILES/oracle /home

[root@rac1
Desktop]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4 50G 19G 29G 40% /
tmpfs tmpfs 998M 80K 998M 1% /dev/shm
/dev/sda1 ext4 477M 55M 397M 13% /boot
/dev/mapper/VolGroup-lv_home ext4 28G 2.6G 24G 10% /home

至此2.6G的數據恢復完畢。
恢復之後,許可權不一致的,別忘了授權。
[root@rac1
~]# chmod -R 777 /home/oracle

驗證數據是否可用:
[root@rac1
home]# su oracle
[oracle@rac1 home]$ db11g

SQL*Plus:
Release 11.2.0.3.0 Proction on Thu Aug 28 14:09:49 2014

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to an idle instance.

SQL> 搞定!

『貳』 linux的rm命令詳解

Linux rm,英文全拼:remove,該命令用於刪除一個文件或者目錄。
Linux
rm命令是一個非常強大的刪除命令,它可以永久性地刪除文件系統中指定的文件或目錄。在使用rm命令刪除文件或目錄時,系統不會產生任何提示信息。
語法
rm [options] name...
參數
-i 刪除前逐一詢問確認
-f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認
-r 將目錄及以下之檔案亦逐一刪除
注意:rm命令是一個具有破壞性的命令,因為rm命令會永久性刪除文件或目錄,這就意味著,如果沒有對文件或目錄進行備份,一旦使用rm命令將其刪除,將無法恢復。因此,尤其在使用rm命令刪除目錄時,要非常非常謹慎。

『叄』 linux系統rm -rf/*怎麼恢復可以重做系統么

1、執行刪除命令前,系統運行良好,且操作正常,如下圖所示:



4、強制關機後,重新啟動系統,如下圖所示已經報異常了,無法正常進入系統,此時只有進行重裝系統了。



總結:

1.有點遺憾刪除結束後沒法再使用df、ls這些命令,所以沒辦法看出還剩哪些文件。不過從上面的結果來看,連基礎命令都執行不了,所以用戶數據(如安裝的軟體、部署的網站、資料庫等)肯定也都全刪沒了。


2.因此平時操作的過程中要養成良好的習慣,盡量不要用rm命令,可以用mv命令來代替。比如要刪掉a.txt,可以執行mv a.txt /mytemp ,然後再寫個腳本定時清除/mytemp目錄下的文件,這樣會安全很多。

『肆』 在linux系統下用rm命令誤刪了一個文件,怎樣才能恢復這個文件

1、先要進行重啟ubuntu,隨即長按shirft進入grub菜單,這時候注意的是再進行選擇recovery mode,按"e"鍵進入編輯頁面,如下圖所示。


『伍』 linux rm刪除文件後能找回嗎

可以使用debugfs
1 執行sudo debugfs -w /dev/sda1 命令,進入debugfs模式,其中sda1是你所在的分區,因人而異。
2 執行lsdel,列出最近所有刪除的文件,結果是按時間順序從老到新排列
結果格式類似:
Inode Owner Mode Size Blocks Time deleted
8934222 14456 100664 592 1/ 1 Wed Aug 26 11:49:48 2015
如果結果太多,可以直接執行如下命令: echo lsdel | debugfs /dev/sda1 > lsdel.out
如此可將結果輸出成本地文件。
3 從列出的刪除結果中,或從保存的結果文件中找到被刪除的文件,可根據刪除時間、文件所有者確認。找到被刪除文件後,第一個數字為inode號。
4 在debugfs模式下,執行 mp <123456> /tmp/123456.bak,可將被刪除的文件恢復,其中123456為被刪除文件的inode號。
5 確認恢復的文件是否為期望的文件。

『陸』 linux rm刪除的文件怎麼恢復

linux的文件被rm刪除是可以通過linux自帶的文件恢復工具debugfs來進行恢復,但是只能恢復ext2文件系統的文件,不能恢復ext3文件系統的文件。

1,首先查看需要恢復的文件所在的文件系統
命令行模式下輸入指令mount
[xuwangcheng14@root]# mount
/dev/xvda1 on / type ext2 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

由上知,/dev/xvda1掛載在/下,即根目錄,且文件系統是ext2

2,將要找回的文件所在的分區重新掛載成只讀
(因為這樣比較安全,可以防止因新的文件寫入該分區而導致無法找迴文件)

[xuwangcheng14@root]# mount -n -o remount,ro /dev/xvda1

如果不能重新掛載,那麼一定有用戶正在使用該分區中的文件,我們可以使用指令:fuser -m -v /dev/xvda1來查看當前哪個用戶正在使用該分區中的文件,然後使用fuser -k -m -v /dev/xvda1來殺死用戶使用該分區的任何進程。

3,使用debugfs工具恢復文件

[xuwangcheng14@root]# debugfs /dev/xvda1
debugfs 1.42 (29-Nov-2011)
debugfs: lsdel

進入debugfs模式後輸入lsdel後可以看到被刪除的文件信息
stat顯示某個節點所對應的文件信息,
恢復文件使用mp 文件路徑。

如果被刪除的文件很多,那麼通過lsdel可看出文件的時間,然後自己判斷進行恢復。

『柒』 linux 系統下面,rm -rf 刪除的文件能找回來嗎

使用rm -rf刪除的文件不能找回的;

對rm命令的理解:

1.rm命令可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。對於鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。

2.使用rm命令刪除了一個文件,就無法再恢復它。所以,在刪除文件之前,最好再看一下文件的內容,確定是否真要刪除。

3.rm命令可以用-i選項,這個選項在使用文件擴展名字元刪除多個文件時特別有用。使用這個選項,系統會要求你逐一確定是否要刪除。

(7)linux恢復rm刪除的文件擴展閱讀:

rm命令參數如下

1.-d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
2.-f:強制刪除文件或目錄;
3.-i:刪除已有文件或目錄之前先詢問用戶;
4.-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
5.-v:顯示指令的詳細執行過程。



『捌』 linux rm刪除的數據能恢復嗎

一般情況是不可以回復的,建議以後使用rm的時候最好不要代-f選項,在刪除前還可以檢查下。

熱點內容
電腦怎樣編程 發布:2024-10-18 12:06:55 瀏覽:528
圖的鄰接表存儲及遍歷 發布:2024-10-18 12:02:31 瀏覽:495
如何查詢電腦型號的配置 發布:2024-10-18 11:57:42 瀏覽:273
如何開張一個租賃伺服器 發布:2024-10-18 11:46:13 瀏覽:826
python解析json文件 發布:2024-10-18 11:29:34 瀏覽:311
編譯程序的生成程序 發布:2024-10-18 11:29:27 瀏覽:404
軌跡處理演算法 發布:2024-10-18 11:22:25 瀏覽:783
支付密碼怎麼破解 發布:2024-10-18 11:09:19 瀏覽:145
線性鏈表c語言 發布:2024-10-18 11:09:17 瀏覽:785
淘寶賣的腳本可靠嗎 發布:2024-10-18 10:54:04 瀏覽:120