温馨提示×

Linux recycle数据如何备份

小樊
46
2025-11-23 15:12:02
栏目: 智能运维

Linux 回收站数据备份与恢复

一 先确认回收站位置

  • 不同桌面环境与工具把“已删除”文件放在不同目录,备份前请先确认你的回收站路径。常见位置与工具如下:
来源或工具 回收站路径或命令 说明
GNOME(Nautilus) ~/.local/share/Trash/ 包含子目录 files/info/
KDE(Dolphin) ~/.local/share/Trash/ 同上
XFCE(Thunar) ~/.local/share/Trash/ 同上
命令行 trash-cli ~/.local/share/Trash/ 使用 trash-put/trash-list/trash-restore
自定义回收站脚本 你定义的目录(如 ~/.trash/data/Recycle 路径取决于你的脚本配置
  • 快速确认是否存在回收站目录:
    • ls -ld ~/.local/share/Trash
    • which trash || echo “trash-cli 未安装”
  • 若使用自定义脚本,请在脚本中查看 TRASH_DIR 变量或别名定义。

二 手动一次性备份

  • 图形界面回收站(GNOME/KDE/XFCE):备份整个 Trash 目录
    • tar -czvf trash_backup_$(date +%F).tar.gz -C ~ .local/share/Trash
  • 命令行 trash-cli 用户:同样备份上述目录
    • tar -czvf trash_backup_$(date +%F).tar.gz -C ~ .local/share/Trash
  • 自定义回收站(示例目录 ~/.trash/data/Recycle
    • tar -czvf recycle_backup_$(date +%F).tar.gz -C ~ .trash
    • 或 tar -czvf recycle_backup_$(date +%F).tar.gz /data/Recycle
  • 说明:上述命令将回收站目录完整归档,便于迁移或离线保存。

三 自动化定时备份与异地容灾

  • 本地定时归档(每日 2:30 打包)
    • 编辑:crontab -e
    • 加入:30 2 * * * tar -czf “$HOME/backup/trash_$(date +%F).tar.gz” -C “$HOME” .local/share/Trash
  • 异地或云端备份(rsync 增量)
    • rsync -avz --delete ~/.local/share/Trash/ user@backup-host:/backup/trash/
  • 将回收站目录绑定到外部盘(降低系统盘故障风险)
    • 挂载外部盘到 /mnt/usb 后执行:
      • mount --bind /mnt/usb/.local/share/Trash/files ~/.local/share/Trash/files
  • 监控回收站变化(inotify)
    • inotifywait -m -r ~/.local/share/Trash/files --format ‘%w%f’ | while read f; do echo “$(date): $f changed”; done
  • 建议:保留近 7–30 天 的归档,按容量与合规要求调整。

四 恢复与验证

  • 图形界面:在文件管理器侧栏打开回收站,右键选择恢复即可回到原位置(GNOME/KDE/XFCE 均支持)。
  • 命令行 trash-cli:
    • 列出:trash-list
    • 交互恢复:trash-restore(按提示选择)
    • 清空回收站:trash-empty(谨慎)
  • 归档恢复(对应第二节的备份)
    • 先确认回收站目录存在:mkdir -p ~/.local/share/Trash
    • 解包:tar -xzvf trash_backup_YYYY-MM-DD.tar.gz -C ~
  • 验证要点:检查文件数量、大小、时间戳与可读性;涉及数据库或应用文件时,恢复后做一次可用性校验。

五 安全与加固建议

  • 避免直接使用 rm -rf:改用 trash-cli 或将 rm 别名到“移动到回收站”的脚本,降低误删风险。
  • 容量与保留策略:
    • 图形界面可调整回收站保留时间(GNOME 示例):
      • gsettings get org.gnome.desktop.interface trash-max-age
      • gsettings set org.gnome.desktop.interface trash-max-age 30
    • 定期清理旧归档,避免占用过多磁盘。
  • 故障与恢复准备:
    • 定期检查系统日志:journalctl -xe
    • 若已清空回收站且需找回,尽量立刻停止写入并使用 extundelete、testdisk/photorec 等工具尝试恢复(成功率取决于是否覆盖)。

0