温馨提示×

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 生效):
      • alias rm=‘trash’
    • 使配置生效: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 或手动清空目录,文件将难以恢复,请谨慎操作。

0