CentOS回收站备份与恢复
小樊
40
2025-12-09 17:43:28
CentOS 回收站备份与恢复实用指南
一 概念与默认位置
- Linux/CentOS 默认没有内置图形化回收站;命令行执行 rm 会直接删除。桌面环境(如 GNOME)或命令行工具(如 trash-cli)会将删除的文件移动到用户家目录的回收站目录:~/.local/share/Trash/,其中包含两个子目录:files(存放实际文件)和 info(存放元数据,如原路径、删除时间)。部分旧环境或实现也可能使用 ~/.Trash。理解这一目录结构,是进行备份与恢复的前提。
二 备份回收站
- 手动备份(最直接)
- 备份当前用户的回收站到指定位置(示例:/backup/trash-2025-12-09):
- cp -a ~/.local/share/Trash /backup/trash-2025-12-09
- 如需备份其他用户(如 root):
- sudo cp -a /root/.local/share/Trash /backup/trash-root-2025-12-09
- 说明:-a 保留权限、时间戳与符号链接,适合做可靠备份。
- 定时自动备份(推荐)
- 为当前用户创建定时任务(每天 02:00 备份):
- crontab -e
- 0 2 * * * /bin/cp -a ~/.local/share/Trash /backup/trash-$(date +%F)
- 如需保留多份,可在备份脚本中加入按日期滚动与清理逻辑(如保留最近 7 天)。
- 使用 trash-cli 管理回收站(便于可移植与一致性)
- 安装:sudo yum install -y trash-cli
- 常用命令:
- 查看:trash-list
- 交互式还原:trash-restore
- 清空:trash-empty
- 建议做法:先 trash-list 确认内容,再 trash-restore 精确还原;定期 trash-empty 控制占用。
三 恢复回收站
- 使用 trash-cli 交互式还原(最安全)
- 列出并选择还原:trash-list → trash-restore(按提示选择条目)
- 批量还原:trash-restore -r(按交互式提示逐项确认)
- 图形界面还原(有桌面环境时)
- 在文件管理器(如 Nautilus)打开回收站,右键目标文件选择“还原”。
- 手动从目录恢复(应急)
- 进入回收站文件目录:cd ~/.local/share/Trash/files
- 查找并复制回原路径(示例将名为 data.txt 的文件还原到 /var/www):
- find . -name “data.txt” -exec cp -p {} /var/www ;
- 说明:-p 保留时间戳与权限;如原路径已存在同名文件,恢复时会被覆盖,建议先检查或改名再恢复。
四 进阶 配置回收站与保护 rm
- 使用 trash-cli 的配置与容量控制
- 创建配置目录与文件:mkdir -p ~/.config/trash && nano ~/.config/trash/config
- 示例配置(控制容量与保留策略):
- [Trash]
- path = /home/youruser/.local/share/Trash
- max_size = 10G
- trash_max_files = 1000
- trash_keep_days = 7
- 提示:不同发行版/版本对配置项支持存在差异,以上为常见做法;以实际配置文件说明为准。
- 将 rm 替换为“移动到回收站”(更安全的工作流)
- 在 ~/.bashrc 中添加别名(仅对交互式 shell 生效):
- 使配置生效:source ~/.bashrc
- 重要提醒:
- 不要对 sudo rm 使用别名,否则可能把文件移到 root 的回收站,普通用户无法再管理。
- 若需真正删除,请使用 /bin/rm 或临时取消别名:\rm file。
- 可额外定义清理别名:alias empty-trash=‘trash-empty’。
五 常见问题与注意事项
- 回收站位置因环境不同可能为 ~/.local/share/Trash 或 ~/.Trash,备份与恢复前先确认实际路径。
- 使用 trash-restore 恢复时,若目标位置存在同名文件会被覆盖;必要时先备份目标位置或改名后再恢复。
- 使用 alias rm=‘trash’ 时,避免对 sudo 使用别名;真正删除请用 /bin/rm 或取消别名操作。
- 回收站本质是“移动到指定目录”,并非不可恢复;一旦执行 trash-empty 或手动清空目录,文件将难以恢复,请谨慎操作。