Ubuntu 下 FileZilla 文件恢复的实用方案
先判断属于哪类“恢复”
- 配置恢复:误删或损坏了 FileZilla 的配置/站点/历史记录,需要把配置目录还原到 ~/.config/filezilla。
- 传输损坏:下载/上传后的文件解压失败、校验不一致,通常是 传输模式或中断导致,需要重新传输并校验。
- 本机误删:在本地 Ubuntu 上用 rm/覆盖删除的文件,需要按文件系统做 数据恢复(适用于 ext3/ext4)。
- 远程误删:服务器上文件被删除,需依赖 服务器备份或 回收站/快照/版本控制;FileZilla 本身不提供远程回收站功能。
场景一 恢复 FileZilla 配置与站点
- 关闭 FileZilla,备份当前配置(可选):cp -r ~/.config/filezilla ~/Desktop/filezilla_backup_$(date +%F)
- 从备份恢复:cp -r /path/to/filezilla ~/.config/
- 若没有备份,只能手动重建站点;历史记录与队列不可自动找回。
场景二 修复传输导致的文件损坏
- 重新传输时务必使用 二进制模式(ASCII/Binary 切换为 Binary),尤其是压缩包、镜像、可执行文件等,避免因文本模式导致换行/编码损坏。
- 传输完成后用校验值核对一致性:
- Linux 本地:md5sum yourfile
- Windows:certutil -hashfile yourfile MD5
- 两端一致再解压/使用。
场景三 本机 Ubuntu 误删文件的恢复步骤(ext3/ext4)
- 立刻减少对目标分区的写入(下载/解压/安装等操作),必要时卸载或改为只读:
- umount /dev/sdXN 或 mount -o remount,ro /dev/sdXN
- 确认分区与文件系统:df -hT /path(常见为 ext4)
- 方案 A(extundelete,推荐):
- 安装:sudo apt-get install extundelete
- 按时间点恢复(示例:在 2025-04-05 10:00:00 之后删除):
- 转时间戳:date -d “2025-04-05 10:00:00” +%s → 例如 1743818400
- 恢复:sudo extundelete /dev/sdXN --after 1743818400 --restore-all
- 结果在 ./RECOVERED_FILES/
- 方案 B(debugfs,ext2/ext3/ext4 均可用):
- 打开分区:sudo debugfs -w /dev/sdXN
- 列出已删 inode:lsdel(记录目标文件的 inode)
- 导出恢复:dump /path/to/save/filename
- 重要提示:恢复文件请保存到 其他分区,避免覆盖源数据;成功率取决于是否被新写入覆盖。
场景四 远程服务器文件被删除的恢复建议
- 优先检查:服务器是否有 回收站机制、快照/备份(如 LVM 快照、云盘快照、rsync 定时备份)、或应用层 版本控制/发布回滚。
- 若服务器是 ext3/ext4 且刚删除、且未被覆盖,可请管理员在服务器上按上文 extundelete/debugfs 流程恢复;否则只能从备份还原。
- 预防建议:启用 传输完成校验(如 SFTP 校验或事后 md5/sha256)、重要目录纳入 定时备份、关键操作前先快照。