CentOS回收站备份与恢复
先确认回收站类型
备份方法
手动一次性备份(适用于标准回收站与自定义回收站)
mkdir -p /backup/trash_$(date +%F)
cp -a ~/.local/share/Trash/files /backup/trash_$(date +%F)/
# 如有 info 元数据,也建议一并备份
cp -a ~/.local/share/Trash/info /backup/trash_$(date +%F)/
mkdir -p /backup/trash_$(date +%F)
cp -a /data/.trash /backup/trash_$(date +%F)/
定时自动备份(crontab)
# 创建备份脚本 /usr/local/bin/backup_trash.sh
cat >/usr/local/bin/backup_trash.sh <<'EOF'
#!/bin/bash
TS=$(date +%F_%H%M%S)
SRC="$HOME/.local/share/Trash"
DST="/backup/trash/${TS}"
mkdir -p "$DST"
if [ -d "$SRC/files" ]; then
rsync -a --delete "$SRC/files" "$DST/"
[ -d "$SRC/info" ] && rsync -a "$SRC/info" "$DST/"
fi
# 只保留最近7天
find /backup/trash -maxdepth 1 -type d -mtime +7 -delete
EOF
chmod +x /usr/local/bin/backup_trash.sh
# 加入定时任务(当前用户)
(crontab -l 2>/dev/null; echo "0 2 * * * /usr/local/bin/backup_trash.sh") | crontab -
使用 trash-cli 的工作流(便于按“回收站规范”备份与恢复)
# CentOS 7
yum install -y epel-release
yum install -y trash-cli
# CentOS 8/Stream 8
dnf install -y epel-release
dnf install -y trash-cli
trash-put important.log # 删除到回收站
trash-list # 查看回收站内容
trash-restore # 交互式恢复
trash-empty # 清空回收站
恢复与注意事项