linux XFS文件系统误删救星——筑梦之路

XFS文件恢复工具指南

项目信息

开源项目地址:https://github.com/ianka/xfs_undelete

环境说明

  • 操作系统:CentOS 7

依赖安装

bash 复制代码
# 安装必要依赖
yum install -y tcl tcllib coreutils file

依赖说明:

  • tcl:Tcl语言运行环境(必需)
  • tcllib:Tcl扩展功能库
  • coreutils:基础系统工具集
  • file:文件类型识别工具

工具安装

bash 复制代码
git clone https://github.com/ianka/xfs_undelete
cd xfs_undelete
chmod +x xfs_undelete

恢复操作指南

注意事项

  • 恢复前必须停止对目标分区的写入操作

  • 执行以下命令卸载目标分区(以/dev/sda4为例):

    bash 复制代码
    umount /dev/sda4
  • 延迟操作会降低恢复成功率

基本恢复

bash 复制代码
# 恢复/dev/sda4所有删除文件到当前目录的xfs_undeleted文件夹
./xfs_undelete /dev/sda4

高级选项

  1. 时间筛选恢复

    bash 复制代码
    # 恢复最近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
  2. 文件类型筛选

    bash 复制代码
    # 仅恢复图片文件
    ./xfs_undelete -r "image/*" /dev/sda4
    
    # 仅恢复文档文件
    ./xfs_undelete -r "text/plain,application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document" /dev/sda3
  3. 指定输出目录

    bash 复制代码
    # 创建专用恢复目录(必须位于其他分区)
    mkdir -p /mnt/recovery
    
    # 指定输出目录
    ./xfs_undelete -o /mnt/recovery /dev/sda4

实战案例:恢复误删系统文件

场景:误删/usr/bin/ls等系统命令导致功能异常

操作步骤:

  1. 重启服务器,在GRUB界面按e编辑启动项,添加init=/bin/bash进入单用户模式

  2. 以只读模式重新挂载根分区:

    bash 复制代码
    mount -o remount,ro /
  3. 挂载外部存储设备:

    bash 复制代码
    mount /dev/sdc1 /mnt/usb
  4. 执行恢复命令:

    bash 复制代码
    ./xfs_undelete -r "application/x-executable" -o /mnt/usb/recovery /dev/sda1
  5. 将恢复的文件复制到/usr/bin目录后重启系统

相关推荐
Decay__1 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
贞明电子3 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
HideF4 小时前
Linux
linux·服务器·网络
万联WANFLOW4 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery6 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
乌恩大侠7 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
Decay__7 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
丰锋ff8 小时前
压缩命令笔记
linux
江华森8 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼9 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测