XFS文件恢复工具指南
项目信息
开源项目地址:https://github.com/ianka/xfs_undelete
环境说明
- 操作系统:CentOS 7
依赖安装
# 安装必要依赖 yum install -y tcl tcllib coreutils file依赖说明:
tcl:Tcl语言运行环境(必需)tcllib:Tcl扩展功能库coreutils:基础系统工具集file:文件类型识别工具
工具安装
git clone https://github.com/ianka/xfs_undelete cd xfs_undelete chmod +x xfs_undelete恢复操作指南
注意事项
- 恢复前必须停止对目标分区的写入操作
- 执行以下命令卸载目标分区(以/dev/sda4为例):
umount /dev/sda4 - 延迟操作会降低恢复成功率
基本恢复
# 恢复/dev/sda4所有删除文件到当前目录的xfs_undeleted文件夹 ./xfs_undelete /dev/sda4高级选项
时间筛选恢复
# 恢复最近48小时内删除的文件 ./xfs_undelete -t 48h /dev/sda4 # 恢复2026-01-16之后删除的文件 ./xfs_undelete -t "2026-01-16.." /dev/sda4 # 恢复2026-01-16至2026-01-19期间删除的文件 ./xfs_undelete -t "2026-01-16..2026-01-19" /dev/sda4文件类型筛选
# 仅恢复图片文件 ./xfs_undelete -r "image/*" /dev/sda4 # 仅恢复文档文件 ./xfs_undelete -r "text/plain,application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document" /dev/sda3指定输出目录
# 创建专用恢复目录(必须位于其他分区) mkdir -p /mnt/recovery # 指定输出目录 ./xfs_undelete -o /mnt/recovery /dev/sda4
实战案例:恢复误删系统文件
场景:误删/usr/bin/ls等系统命令导致功能异常
操作步骤:
- 重启服务器,在GRUB界面按e编辑启动项,添加
init=/bin/bash进入单用户模式 - 以只读模式重新挂载根分区:
mount -o remount,ro / - 挂载外部存储设备:
mount /dev/sdc1 /mnt/usb - 执行恢复命令:
./xfs_undelete -r "application/x-executable" -o /mnt/usb/recovery /dev/sda1 - 将恢复的文件复制到/usr/bin目录后重启系统