Linux回收站文件删除后的备份方法
Linux系统中,回收站的实现因桌面环境而异,常见路径如下:
~/.local/share/Trash/files/(文件本身),元数据(如删除时间、原路径)存储在~/.local/share/Trash/info/;alias rm=trash)设置了自定义回收站(如~/.trash),需确认具体路径。步骤:
cd ~/.local/share/Trash/files # GNOME/KDE默认路径
~/TrashBackup):mkdir -p ~/TrashBackup
cp -r ./* ~/TrashBackup/ # 递归复制所有文件及子目录
说明:此方法适合临时备份,操作简单但需手动执行。
步骤:
backup_trash.sh):nano backup_trash.sh
输入以下内容(以GNOME为例):#!/bin/bash
# 定义回收站和备份目录
TRASH_DIR="$HOME/.local/share/Trash/files"
BACKUP_DIR="$HOME/TrashBackup_$(date +%Y%m%d_%H%M%S)" # 按时间命名备份目录
# 创建备份目录
mkdir -p "$BACKUP_DIR"
# 复制文件并显示进度
rsync -av --progress "$TRASH_DIR/" "$BACKUP_DIR/"
echo "回收站文件已备份到:$BACKUP_DIR"
chmod +x backup_trash.sh
./backup_trash.sh
说明:脚本使用rsync工具,支持增量备份(仅复制新增/修改的文件),并生成带时间戳的备份目录,便于管理。
步骤:
crontab -e
0 2 * * * /path/to/backup_trash.sh # 替换为脚本的实际路径
~/TrashBackup)有足够的磁盘空间,且用户对目录有读写权限。du -sh ~/TrashBackup查看备份大小。~/.Trash-1000(1000为用户ID),需调整脚本中的路径。TrashBackup_20250919),防止新备份覆盖旧备份。rsync命令配合inotifywait工具(监听文件变化),但配置较复杂,适合高级用户。