如何备份CentOS回收站,确保数据不因系统故障或误操作而丢失?

更新于
2026-08-20 00:35:05
2阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

在 CentOS 程序里文件被误删后往往只能通过“回收站”或手动恢复来挽回,但这两种方法都存在缺陷:程序崩溃、磁盘损坏或误操作可能导致回收站里的文件彻底丢失。如果没有及时备份,一旦数据丢失,恢复几乎不可能。建立一个可靠的回收站备份方案很关键。

一、了解 CentOS 回收站的特殊性

与 Windows 的可视化回收站不同。CentOS 默认并没有一个统一的图形化回收站,而是依赖使用者自定义目录来存放被删除的文件。确认回收站的位置和类型是备份前的第一步先。按理说,

如何备份CentOS回收站,确保数据不因系统故障或误操作而丢失?
  • 标准回收站: 位于 $HOME/.local/share/Trash/files$HOME/.local/share/Trash/info
  • 自定义回收站: 有些使用者会把回收站放到其它方法。例如 /var/local/trash 等。

如何确认你的回收站位置?

从打开终端执行来看,

# 查看默认标准位置
ls -la $HOME/.local/share/Trash/files
ls -la $HOME/.local/share/Trash/info
# 如果你使用了自定义方法。请替换为对应目录
ls -la /var/local/trash/files
ls -la /var/local/trash/info

二、使用 tar 命令实现全量备份

痛点:你不想每次手动压缩整个目录,也不想因为忘记更新而导致旧版本残留。

# 备份脚本 backup_trash_tar.sh
#!/bin/bash
SRC="$HOME/.local/share/Trash"
DST="/backup/trash_$.tar.gz"
mkdir -p "$"
tar -czf "$DST" -C "$SRC" .
echo "✅ 已将 $SRC 备份到 $DST"

自动化建议:

  • Create a cron job to run daily:
  • * * * * * /usr/local/bin/backup_trash_tar.sh>> /var/log/trash_backup.log 2>&1
    

三、使用 rsync 做增量同步 + 定时清理旧备份

痛点:你只想保存最近一周的历史,以免占用过多硬盘空间。

# 备份脚本 backup_trash_sync.sh
#!/bin/bash
SRC="$HOME/.local/share/Trash"
DST="/backup/trash"
mkdir -p "$DST"
# 同步 files 目录
rsync -a --delete "$SRC/files/" "$DST/files/"
# 同步 info 文件夹
rsync -a "$SRC/info/" "$DST/info/"
# 清理超过7天的旧目录
find "$DST" -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;echo "✅ 已同步并清理旧版本"

定时任务示例:

  • Add to crontab :
  • @daily /usr/local/bin/backup_trash_sync.sh>> /var/log/trash_sync.log 2>&1
    

四、利用 trash-cli 工具简化操作与备份管理

- 安装 trash-cli:

# 在 CentOS 上安装 EPEL 并安装 trash-cli
sudo yum install epel-release
sudo yum install trash-cli

trash-put ~/Documents/confidential.txt

trash-list

trash-restore # 会弹出交互式列表供选择恢复

备份建议在使用 trash-cli 时可以结合上面提到的 tar 或 rsync 脚本定期打包当前 Trash 内容,以防止意外永久删除。

五、恢复数据与注意事项

"我需要从旧版本中恢复某个文件"

如何备份CentOS回收站,确保数据不因系统故障或误操作而丢失?
  1. 验证备份完整性:`tar tf backup_trash_20240818.tar.gz` 或 `rsync --list-only` 检查是否有损坏。
  2. Select correct backup snapshot:`cd /backup/trash_20240818` 并查看 `files` 与 `info` 子目录。
  3. COPY & REPLACE:`cp --preserve=all files//path/to/destination`;随后可以用 `trash-restore` 或手动复制回来。
  4. Avoid overwriting newer data:`mv files//path/to/destination .` 前请先检查目标位置是否已存在同名文件,并决定是否覆盖或重命名。
  5. "如果我不小心把整个 Trash 清空了怎么办?": 在上述脚本中已经包含了保留最近7天记录,你可以直接从对应日期的归档中提取所需文件。 若没有归档,则可能无法恢复。

说到恢复小贴士。先验证,再操作,怎么说呢,

  • **永远不要直接写入原始 Trash 方法**——这样会把新数据覆盖掉老数据。导致恢复变得更难,最好先解压或同步到临时目录,再手工移动。
  • **做好日志记录**——所有脚本都输出日志到 `/var/log/*_log`,方便排查问题。
  • **定期检查硬盘空间**——因为归档堆积,磁盘很快就会满。如果发现可用空间不足,请及时扩容或调整保留周期。
  • **测试还原流程**——每隔几个月模拟一次从归档中恢复一个文件,确保脚本无误且你熟悉流程。
  • .

让你的 CentOS 回收站安全无忧!

    .

    标签:CentOS

    在 CentOS 程序里文件被误删后往往只能通过“回收站”或手动恢复来挽回,但这两种方法都存在缺陷:程序崩溃、磁盘损坏或误操作可能导致回收站里的文件彻底丢失。如果没有及时备份,一旦数据丢失,恢复几乎不可能。建立一个可靠的回收站备份方案很关键。

    一、了解 CentOS 回收站的特殊性

    与 Windows 的可视化回收站不同。CentOS 默认并没有一个统一的图形化回收站,而是依赖使用者自定义目录来存放被删除的文件。确认回收站的位置和类型是备份前的第一步先。按理说,

    如何备份CentOS回收站,确保数据不因系统故障或误操作而丢失?
    • 标准回收站: 位于 $HOME/.local/share/Trash/files$HOME/.local/share/Trash/info
    • 自定义回收站: 有些使用者会把回收站放到其它方法。例如 /var/local/trash 等。

    如何确认你的回收站位置?

    从打开终端执行来看,

    # 查看默认标准位置
    ls -la $HOME/.local/share/Trash/files
    ls -la $HOME/.local/share/Trash/info
    # 如果你使用了自定义方法。请替换为对应目录
    ls -la /var/local/trash/files
    ls -la /var/local/trash/info
    

    二、使用 tar 命令实现全量备份

    痛点:你不想每次手动压缩整个目录,也不想因为忘记更新而导致旧版本残留。

    # 备份脚本 backup_trash_tar.sh
    #!/bin/bash
    SRC="$HOME/.local/share/Trash"
    DST="/backup/trash_$.tar.gz"
    mkdir -p "$"
    tar -czf "$DST" -C "$SRC" .
    echo "✅ 已将 $SRC 备份到 $DST"
    

    自动化建议:

    • Create a cron job to run daily:
    • * * * * * /usr/local/bin/backup_trash_tar.sh>> /var/log/trash_backup.log 2>&1
      

    三、使用 rsync 做增量同步 + 定时清理旧备份

    痛点:你只想保存最近一周的历史,以免占用过多硬盘空间。

    # 备份脚本 backup_trash_sync.sh
    #!/bin/bash
    SRC="$HOME/.local/share/Trash"
    DST="/backup/trash"
    mkdir -p "$DST"
    # 同步 files 目录
    rsync -a --delete "$SRC/files/" "$DST/files/"
    # 同步 info 文件夹
    rsync -a "$SRC/info/" "$DST/info/"
    # 清理超过7天的旧目录
    find "$DST" -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;echo "✅ 已同步并清理旧版本"
    

    定时任务示例:

    • Add to crontab :
    • @daily /usr/local/bin/backup_trash_sync.sh>> /var/log/trash_sync.log 2>&1
      

    四、利用 trash-cli 工具简化操作与备份管理

    - 安装 trash-cli:

    # 在 CentOS 上安装 EPEL 并安装 trash-cli
    sudo yum install epel-release
    sudo yum install trash-cli

    trash-put ~/Documents/confidential.txt

    trash-list

    trash-restore # 会弹出交互式列表供选择恢复

    备份建议在使用 trash-cli 时可以结合上面提到的 tar 或 rsync 脚本定期打包当前 Trash 内容,以防止意外永久删除。

    五、恢复数据与注意事项

    "我需要从旧版本中恢复某个文件"

    如何备份CentOS回收站,确保数据不因系统故障或误操作而丢失?
    1. 验证备份完整性:`tar tf backup_trash_20240818.tar.gz` 或 `rsync --list-only` 检查是否有损坏。
    2. Select correct backup snapshot:`cd /backup/trash_20240818` 并查看 `files` 与 `info` 子目录。
    3. COPY & REPLACE:`cp --preserve=all files//path/to/destination`;随后可以用 `trash-restore` 或手动复制回来。
    4. Avoid overwriting newer data:`mv files//path/to/destination .` 前请先检查目标位置是否已存在同名文件,并决定是否覆盖或重命名。
    5. "如果我不小心把整个 Trash 清空了怎么办?": 在上述脚本中已经包含了保留最近7天记录,你可以直接从对应日期的归档中提取所需文件。 若没有归档,则可能无法恢复。

    说到恢复小贴士。先验证,再操作,怎么说呢,

    • **永远不要直接写入原始 Trash 方法**——这样会把新数据覆盖掉老数据。导致恢复变得更难,最好先解压或同步到临时目录,再手工移动。
    • **做好日志记录**——所有脚本都输出日志到 `/var/log/*_log`,方便排查问题。
    • **定期检查硬盘空间**——因为归档堆积,磁盘很快就会满。如果发现可用空间不足,请及时扩容或调整保留周期。
    • **测试还原流程**——每隔几个月模拟一次从归档中恢复一个文件,确保脚本无误且你熟悉流程。
    • .

    让你的 CentOS 回收站安全无忧!

      .

      标签:CentOS