Linux 系统没备份误删文件能恢复吗?怎么做?
2025/11/03
黄老师

在 Linux 系统里没备份就删了重要文件,是不是只能自认倒霉?我身边好多用 Linux 的朋友都遇过这事儿 —— 有删了服务器配置文件的,有丢了工作文档的,一慌就乱点乱操作,最后反而把数据彻底搞没了。其实 Linux 误删文件不是绝对救不回来,关键得先搞清楚两个事儿:你用的是哪种文件系统,还有删了之后有没有再往盘里写东西。下面就跟大家掰扯掰扯能恢复的情况、具体怎么操作,还有平时怎么防着误删。
一、Linux 系统没备份误删文件,能恢复吗?看 2 个核心因素
- ext3/ext4 文件系统:老版 Linux 比如 CentOS 7、Ubuntu 18.04,基本都是用 ext4,这玩意儿默认开日志,删文件的时候不会真把数据清空,就是在磁盘上标个 “这块地方能用了”。只要没新文件往这儿写,用工具就能找回来,成功率在这几种里最高。我之前帮同事恢复过 ext4 分区的 Excel 表格,他删了之后没敢再操作,半小时就找回来了。
- XFS 文件系统:现在新点的 Linux 比如 CentOS 8、RHEL 8,大多用 XFS。这东西更看重数据一致性,删了文件要是没开快照,再往盘里写点东西,恢复起来就比 ext4 麻烦。但它会留着删除日志,要是能及时把日志提出来,用专门的工具还是有机会的 —— 之前有个客户删了 nginx 配置文件,就是靠 XFS 的日志找回来的。
- Btrfs 文件系统:这玩意儿支持快照,要是删之前没手动或自动建快照,恢复逻辑跟 ext4 差不多,但能用的工具少,就主流的 btrfs-restore。而且对操作基础要求高,新手容易越搞越乱,我见过有人用这系统恢复文件,最后把权限全弄混了,文件找回来也打不开。
- 磁盘里被标为 “可覆盖” 的区块,只要有新文件写进去,旧数据就没了 —— 比如你删了 /home 里的文档,又往里面下了个压缩包,那原来文档的位置很可能就被压缩包占了,再怎么找也没用。
- 就算是开了日志的文件系统,要是删了之后重启系统、清了磁盘缓存,日志文件可能也被改了,恢复需要的关键信息就没了。之前有个朋友删了日志文件,还顺手执行了个 yum clean all,最后日志信息全没了,只能重新做数据。
二、Linux 系统误删文件,具体怎么恢复?分文件系统选工具
- 第一步:装 extundelete
- 第二步:找文件所在的分区
- 第三步:执行恢复
- 第四步:查恢复结果
- 第一步:查 XFS 日志和挂载信息
- 第二步:提删除日志
- 第三步:执行恢复
- 第一步:查 Btrfs 子卷信息
- 第二步:执行恢复
- 注意:Btrfs 恢复后经常会有权限问题,比如文件打不开,这时候得用chown改权限 —— 比如chown user:user /tmp/btrfs_recover/test.txt,把 user 换成你的用户名,一般就能解决。
三、怎么避免 Linux 系统误删文件?做好 3 个预防动作
- 先建个备份脚本:输vim /root/backup_home.sh,里面写tar -zcvf /backup/home_$(date +%Y%m%d).tar.gz /home—— 这样每天备份的文件都会带日期,比如 home_20240520.tar.gz,找的时候也方便。
- 然后设定时执行:输crontab -e,加一行0 2 * * * /bin/bash /root/backup_home.sh—— 意思是每天凌晨 2 点自动备份,这时候服务器用的人少,不会影响正常使用。记得提前建 /backup 目录,不然备份会失败。
- 输vim ~/.bashrc,在文件最后加alias rm='rm -i',保存后输source ~/.bashrc生效。
- 这样每次输rm test.txt,系统会问 “rm: remove regular file ‘test.txt’?”,得输 “y” 才会删,就算手滑输错命令,也有个缓冲的机会。我身边好几个同事都这么设,说救过他们好几次。
- 要是 ext4 分区,先卸了分区,输e2fsck -f /dev/sda3;要是 XFS 分区,输xfs_repair /dev/mapper/cl-home就行。
- 建议每个月查一次,要是发现有 “坏道”“索引错误”,赶紧用dd命令把数据备份出来 —— 别等彻底坏了再弄,到时候哭都来不及。
-
开设课程 开班时间 在线报名OCP2025.04.26
在线报名
HCIP-AI Solution2025.04.26在线报名
HCIE-openEuler2025.05.03在线报名
RHCA-CL2602025.05.04在线报名
HCIP-Cloud2025.05.10在线报名
PGCM直通车2025.05.10在线报名
HCIA-Datacom(晚班)2025.05.19在线报名
HCIA-Sec2025.06.07在线报名
RHCA-RH4422025.06.07在线报名
PMP2025.06.10在线报名
HCIA-Datacom2025.06.14在线报名
HCIE-AI Solution2025.06.14在线报名
HCIE-Datacom2025.06.14在线报名
HCIP-Datacom(晚班)2025.06.16在线报名
OCM2025.06.21在线报名
HCIE-Cloud2025.06.21在线报名
HCIP-Sec2025.06.21在线报名
HCIE-Bigdata2025.06.28在线报名
RHCE2025.06.28在线报名
HCIE-Datacom考前辅导2025.07.05在线报名
HCIP-Datacom深圳2025.07.19在线报名
CISP2025.07.19在线报名
HCIA-Datacom(晚班)2025.07.21在线报名
RHCA-RH4362025.07.26在线报名
OCP2025.07.26在线报名
HCIE-Sec2025.08.09在线报名
HCIA-AI Solution2025.08.16在线报名
HCIP-Datacom(晚班)2025.08.25在线报名
RHCA-RH3582025.09.06在线报名
PMP2025.09.16在线报名
HCIE-Datacom2025.09.06在线报名
HCIA-AI Solution2025.09.27在线报名
HCIA-Datacom2025.09.27在线报名
PGCM直通车2025.10.11在线报名
RHCA-DO3742025.10.11在线报名
HCIA-Sec2025.10.11在线报名
RHCE2025.10.18在线报名
HCIP-Datacom2025.11.08在线报名
HCIP-Sec2025.11.08在线报名
RHCA-CL2602025.11.15在线报名
OCP2025.11.15在线报名
HCIE-Sec2025.12.13在线报名
HCIE-Datacom2026.01.10在线报名