200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > suse linux系统误删除文件恢复 Linux系统下部署文件恢复神器extundelete恢复误删的文件...

suse linux系统误删除文件恢复 Linux系统下部署文件恢复神器extundelete恢复误删的文件...

时间:2024-07-11 16:19:49

相关推荐

suse linux系统误删除文件恢复 Linux系统下部署文件恢复神器extundelete恢复误删的文件...

Linux系统下部署文件恢复神器extundelete恢复误删的文件

最近看到群里提到如何恢复LINUX下ext4误删的文件,之前听说过ext3分区恢复工具ext3grep,恢复ext4刚是用extundelet,该工具最给力的一点就是支持ext3/ext4双格式分区恢复,对我们运维攻城狮算是一款神器级别的软件,这里整理了如下文档,供大家参考。

虚拟机: vmware workstation 9.0.2

操作系统: CentOS6.3 x64

extundelete: extundelete-0.2.4

一.模拟环境

1.首先关闭SELINUX

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

---------------

2.在虚拟机上创建一个2G的磁盘

3.进入系统,创建一个2G的主分区

# fdisk /dev/sdb

---------------------

n+p+1+回车+回车+w

---------------------

4.使分区无需重启就能生效

# partx -a /dev/sdb

5.格式化为ext4分区并挂载

# mkfs.ext4 /dev/sdb1

# mkdir /data

# mount /dev/sdb1 /data

注: 在实际线上恢复过程中,切勿将extundelete安装到你误删的文件所在硬盘,这样会有一定几率将需要恢复的数据彻底覆盖。

建议加装一块硬盘将extundelete安装到此硬盘,再做以下操作。

二.extundelete安装

1.安装依赖包

# yum install e2fsprogs* -y

2.下载并安装extundelete

# tar -jxvf extundelete-0.2.4.tar.bz2

# cd extundelete-0.2.4

# ./configure --prefix=/usr/local/extundelete

# make && make install

3.验证是否安装成功

# cd /usr/local/extundelete/bin

# ./extundelete -v

---------------------

extundelete version 0.2.4

libext2fs version 1.41.12

Processor is little endian.

---------------------

4.设置环境变量

# echo "PATH=/usr/local/extundelete/bin:$PATH" >> /etc/profile

# echo "export PATH" >> /etc/profile

# source /etc/profile

5.上传一些图片,安装包等文件到/data目录

# cd /data

# yum install lrzsz -y

# rz

-------------

本地文件.....

-------------

# ls

------------------

lost+foundmysql-5.6.10.tar.gznginx.confpic.jpg

------------------

6.全部删除

# rm -rf *

7.查看被删除文件

1).查看前需卸载该磁盘分区

# cd ~

# umount /dev/sdb1

2).查看文件

注:一般一个分区挂载到一个目录下时,这个”根”目录的inode值为2

我们为了查看根目录所有文件,所以查看分区inode为2的这个部分

# extundelete /dev/sdb1 --inode 2

--------------------------------

.....

File name | Inode number | Deleted status

. 2

..2

lost+found 11Deleted

mysql-5.6.10.tar.gz 12Deleted

nginx.conf 13Deleted

pic.jpg14Deleted

--------------------------------

注:标记为”Deleted”的文件则是被删除的文件

8.恢复指定的文件

注: 默认被删文件会恢复到当前目录下的RECOVERED_FILES目录中去

# extundelete --restore-file pic.jpg /dev/sdb1

# cd RECOVERED_FILES/

# ll

----------------

-rw-r--r-- 1 root root 52592 8月13 07:18 pic.jpg

----------------

9.完全恢复设备上文件

# extundelete --restore-all /dev/sdb1

# ll

-----------------------------------

总用量 34464

-rw-r--r-- 1 root root 35174149 8月13 07:24 mysql-5.6.10.tar.gz

-rw-r--r-- 1 root root 4551 8月13 07:24 nginx.conf

-rw-r--r-- 1 root root 52592 8月13 07:18 pic.jpg

-rw-r--r-- 1 root root 52592 8月13 07:24 pic.jpg.v1

-----------------------------------

注:这里完全恢复并不会把之前恢复的pic.jpg文件覆盖掉,而是重命名为pic.jpg.v1

10.恢复指定的时间点后被删文件

1).指定一个时间点

# date -d "Sep 4 03:09:13 " +%s

------------------

1378235353

------------------

2).恢复这个时间点后的文件

# extundelete --restore-all --after “1378235353” /dev/sdb1

--------------------

..........

--------------------

注:如果要恢之前的就用before参数。extundelete命令与after结合使用,在进行恢复时非常有用,可以过滤掉那太旧的文件,减小恢复压力。

11.检验是否恢复成功

# md5sum RECOVERED_FILES/mysql-5.6.10.tar.gz

------------------------------------

9dcee911fb4bc7e977a6b63f4d3ffa63RECOVERED_FILES/mysql-5.6.10.tar.gz

------------------------------------

上传刚才误删的mysql安装包

# rz

...

# md5sum mysql-5.6.10.tar.gz

---------------------------------

9dcee911fb4bc7e977a6b63f4d3ffa63mysql-5.6.10.tar.gz

---------------------------------

MD5值相同,恢复成功。。。

-----------大功告成-------------

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。