误删除数据后,立即停止对目标分区的任何写入操作(如复制、修改文件),避免新数据覆盖已删除文件的inode信息。若目标分区是系统盘(如/),需重启至单用户模式或救援模式;若为数据盘(如/dev/vdb1),可通过以下命令卸载:
umount /dev/vdb1 # 替换为目标分区设备名
若卸载失败(提示“target is busy”),可使用fuser命令查找并终止占用进程:
fuser -v -m /dev/vdb1 # 查看占用进程
fuser -k /dev/vdb1 # 终止占用进程
umount /dev/vdb1 # 再次尝试卸载
extundelete是CentOS下常用的开源数据恢复工具,可通过YUM仓库直接安装(需EPEL仓库):
yum install epel-release -y # 安装EPEL仓库(若未安装)
yum install extundelete -y # 安装extundelete
extundelete的恢复效果与删除后是否写入新数据密切相关,建议尽快执行以下步骤:
使用fdisk命令确认目标分区设备名(如/dev/vdb1):
fdisk -l
若需恢复特定文件,需指定文件的完整路径(如/data/test.txt):
extundelete /dev/vdb1 --restore-file /data/test.txt
恢复的文件会保存在当前目录下的RECOVERED_FILES文件夹中。
若需恢复整个目录(如/data/documents),使用--restore-directory参数:
extundelete /dev/vdb1 --restore-directory /data/documents
若不确定文件路径,可使用--restore-all参数恢复分区内的所有已删除文件:
extundelete /dev/vdb1 --restore-all
恢复完成后,检查RECOVERED_FILES目录中的文件:
ls -l RECOVERED_FILES/ # 查看恢复的文件列表
md5sum RECOVERED_FILES/test.txt # 校验文件完整性(需提前记录原文件的MD5)
xfsdump(XFS分区)或tar(普通分区)备份重要数据,避免依赖恢复工具。xfsdump和xfsrestore工具(安装:yum install xfsdump),步骤类似但命令不同。通过以上步骤,可从CentOS镜像或系统中恢复大部分误删除的数据。若恢复失败,建议联系专业数据恢复服务。