误删Linux系统文件?别着急,本文就给大家一个Linux文件恢复的方法,让你轻松应对运维中的各种风险。方法永远比问题多~前面说了,日常的维护操作,难免会误删文件。大家都知道linux文件系统有一个回收站,用于不同的win。可以从回收站中检索已删除的文件。要知道Linux文件修复是相当费力的,网上有各种各样的文档。因此,本次研究了一种更可靠的文件和目录恢复方法,也为维护人员留了后路。分析对比debugfs.testdisk6.14.extundelete,对比他们官网的介绍和操作说明。这次我们决定研究一下extundelete对文件和目录的恢复操作。extundelete下载官网地址:https://pkgs.org/download/extundeleteLinux下文件被误删,使用extundelete恢复测试过程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#目录执行错误:#rm-rf/usr/local/dbdata/gperftools-2.4.tar.gz/usr/local/dbdata/pcre-8.324。对误操作所在分区进行只读保护。如果确定文件被误删除,请立即对该分区进行写保护,不要备份(防止新的写入覆盖已删除的块数据,所以权限只给读):#mount-oremount,ro/dev/sdb#mount-oremount,ro/usr/local/dbdata/5,数据恢复工具安装工具安装部署官网为http://extundelete.sourceforge.net/,其目前稳定版为extundelete-0.2.4。工具下载#wgethttps://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2解压安装依赖包#yum-yinstallgcc-c++e2fsprogs.x86_64e2fsprogs-devel.x86_64#tar-jxvfextundelete-0.2.4.tar.bz2#cdextundelete-0.2.4#./configure#make&&makeinstall验证安装结果#extundelete-v6,文件恢复过程recovery指定文件:原理:从根开始node(inode=2)找到被删除文件的i节点,然后恢复i节点。下面是模拟删除gperftools-2.4.tar.gz(文件)和pcre-8.32(目录)先检测删除了哪些文件:#extundelete/dev/sdb--inode2从圆圈可以看出,有下面两个Agperftools-2.4.tar.gz15Deletedpcre-8.32655361Deleted注意:不要恢复误删分区,谨防inode.block块相互覆盖,先恢复文件(根据文件名恢复即可):#extundelete/dev/sdb--restore-filegperftools-2.4.tar.gz恢复目录(根据目录名恢复):#extundelete/dev/sdb--restore-directorypcre-8.32***你会看到一个名为RECOVERED_FILES的目录在当前目录下,在目录下可以看到被误删的文件和目录:综上所述,根据上面的操作,证明extundelete工具可以实现误删数据的恢复,而操作简单。总结:1.使用rm一定要谨慎。2、需要按功能对磁盘进行分区。3.掌握至少一种数据恢复方法
