Ubuntu Recycle 定制清理计划方法
Ubuntu 系统的回收站(Recycle/Trash)默认无直接图形界面定制清理计划的功能,但可通过命令行工具+定时任务实现灵活的自动清理策略,以下是具体方法:
若需更规范的回收站操作(如查看内容、条件清理),建议安装trash-cli工具包(命令行回收站管理工具):
sudo apt update && sudo apt install trash-cli
适用于Ubuntu桌面版(如GNOME),可快速开启基础自动清理:
crontab -e
0 1 * * * rm -rf ~/.local/share/Trash/files/*
0 1 * * *表示每天凌晨1点执行;~/.local/share/Trash/files/*是回收站存储实际文件的目录(info目录存储元数据,无需手动删除)。Ctrl+O保存、Ctrl+X退出);crontab -l,确认添加的命令已列出。若需基于文件数量/大小动态清理(避免频繁清空),可创建脚本+定时任务:
~/clean_recycle_bin.sh):#!/bin/bash
# 设置回收站最大文件数(超过则清空)
MAX_FILES=100
# 获取当前回收站文件数
FILE_COUNT=$(ls -1 ~/.local/share/Trash/files/* | wc -l)
# 判断并清空
if [ "$FILE_COUNT" -gt "$MAX_FILES" ]; then
trash-empty
echo "$(date): 回收站已清空(文件数:$FILE_COUNT)" >> ~/recycle_clean.log
fi
chmod +x ~/clean_recycle_bin.sh
crontab -e
添加以下内容:0 2 * * * ~/clean_recycle_bin.sh
autotrash是一款智能回收站清理工具,可基于文件驻留时间或磁盘空间自动清理:
sudo apt install autotrash
autotrash -d 30
autotrash --max-free 100M -d 30
crontab -e
添加以下内容:0 3 * * * autotrash -d 30
若需为系统中所有用户自动清空回收站,可创建系统级cron任务:
/etc/cron.daily/empty-trash):sudo nano /etc/cron.daily/empty-trash
#!/bin/bash
rm -rf /home/*/.local/share/Trash/files/*
rm -rf /home/*/.local/share/Trash/info/*
sudo chmod +x /etc/cron.daily/empty-trash
此脚本会在每天系统cron任务执行时清空所有用户的回收站(需确保/etc/cron.daily/目录存在且可执行)。trash-empty或rm -rf命令);/etc/cron.daily/)需用sudo,普通用户只能设置自己的crontab任务;echo "$(date): 操作完成" >> ~/recycle_log.txt),便于排查问题。