温馨提示×

debian recycle如何定时清理

小樊
55
2026-09-22 12:06:38
栏目: 智能运维

在 Debian 系统中,“回收站(recycle)”通常取决于你使用的是哪种环境或工具:

  • 桌面环境(GNOME/KDE/XFCE 等):有图形化的“回收站”
  • 命令行/服务器:常指 trash-cli、自建 /tmp、或某些服务的回收目录
  • 业务系统(如 Samba 的 recycle 模块、Nextcloud 回收站等)

下面按常见场景说明 如何定时清理回收站/回收目录。


一、使用 trash-cli(最常见命令行回收站)

1. 安装

sudo apt update
sudo apt install trash-cli

2. 手动清理(测试用)

trash-empty        # 清空所有
trash-empty 30     # 删除 30 天前的

3. 定时清理(cron)

编辑当前用户的 cron:

crontab -e

例如每天凌晨 3 点清理 7 天前的回收站:

0 3 * * * /usr/bin/trash-empty 7

二、清理桌面环境回收站(GUI)

桌面回收站通常位于:

~/.local/share/Trash/

定时清理示例(cron)

0 4 * * * find ~/.local/share/Trash -type f -mtime +7 -delete

或更安全一点:

0 4 * * * rm -rf ~/.local/share/Trash/*

⚠️ 注意:root 用户和不同用户的 Trash 是分开的。


三、清理 /tmp(系统临时回收性质)

Debian 默认会通过 systemd-tmpfiles 清理 /tmp。

查看规则:

cat /usr/lib/tmpfiles.d/tmp.conf

一般默认:

d /tmp 1777 root root 10d

表示 10 天清理一次。

手动触发

systemd-tmpfiles --clean

四、Samba Recycle(网络共享回收站)

如果你说的是 Samba 的 recycle 模块:

示例配置

[share]
path = /srv/samba/share
recycle:repository = .recycle
recycle:keeptree = yes
recycle:maxsize = 0

定时清理

0 2 * * * find /srv/samba/share/.recycle -type f -mtime +30 -delete

五、使用 systemd timer(推荐服务器)

创建服务:

sudo nano /etc/systemd/system/trash-clean.service
[Unit]
Description=Clean trash older than 7 days

[Service]
Type=oneshot
ExecStart=/usr/bin/trash-empty 7

创建 timer:

sudo nano /etc/systemd/system/trash-clean.timer
[Unit]
Description=Daily trash cleanup

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target

启用:

sudo systemctl enable --now trash-clean.timer

总结

场景 推荐方式
命令行回收站 trash-cli + cron
桌面回收站 cron 清理 ~/.local/share/Trash
系统临时文件 systemd-tmpfiles
Samba 回收站 find + cron
服务器 systemd timer

如果你能说明 具体是哪种“recycle”(桌面 / Samba / 自建目录 / 容器),我可以给你更精确的配置。

0 踩