温馨提示×

centos recycle为何自动清理

小樊
43
2026-10-03 04:23:28
栏目: 智能运维

在 CentOS(以及一般的 Linux 系统)中,所谓“回收站(recycle / trash)”自动清理通常并不是系统内核行为,而是由特定服务或桌面环境机制触发的。下面分场景说明常见原因。


一、你指的是“桌面回收站”(图形界面 Trash)

如果你用的是 GNOME / KDE / XFCE 等桌面环境:

1. 自动清理是桌面环境的默认行为

例如:

  • GNOME 有 “自动清空回收站” 设置
  • 可配置:
    • 多少天后自动清理
    • 或“关机时清空”

路径示例(GNOME):

设置 → 隐私 → 回收站

2. 临时目录被清理

回收站实际目录通常位于:

~/.local/share/Trash

如果系统或清理工具认为这是“用户缓存”,可能被误清。


二、你指的是服务器上的“recycle 目录”

如果你在 Samba / FTP / 自建服务 中看到 recycle 目录:

1. Samba 的 recycle 模块

Samba 有 recycle 模块,用于“删除文件先进回收站”:

[vfs objects = recycle]
recycle:repository = .recycle
recycle:keeptree = yes
recycle:maxsize = 0
recycle:exclude = *.tmp

常见自动清理原因:

  • recycle:maxage 设置了天数
  • 定时脚本清空 .recycle
  • disk quota 触发清理

三、系统级自动清理(服务器常见)

1. systemd-tmpfiles

CentOS 7/8/9 使用:

systemd-tmpfiles-clean.service

它会清理:

/tmp
/var/tmp

如果 recycle 目录在这些路径下,会被清。

配置文件:

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

示例:

d /tmp 1777 root root 10d

四、定时任务(cron)清理

检查:

crontab -l
ls /etc/cron.daily/

常见脚本:

find /path/recycle -mtime +7 -delete

五、磁盘空间不足触发

当:

  • inode 用完
  • 磁盘 100%

系统或监控脚本可能自动删除“可回收文件”。


六、如何确认是谁清理的?

1. 查看日志

journalctl | grep recycle
grep recycle /var/log/messages

2. 审计(推荐)

auditctl -w /path/recycle -p wa
ausearch -f /path/recycle

七、如果你“不想自动清理”

  • 桌面:关闭“自动清空回收站”
  • Samba:去掉 recycle:maxage
  • tmpfiles:修改或新建
# /etc/tmpfiles.d/recycle.conf
x /path/recycle

如果你能补充:

  • 是 桌面还是服务器
  • recycle 目录的 具体路径
  • 是否用了 Samba / Docker / 某种服务

我可以给你更精确的配置建议。

0 踩