/tmp清理由systemd-tmpfiles驱动,通过开机清理、定时任务(systemd-tmpfiles-clean.timer)和配置文件(/etc/tmpfiles.d/*.conf)三层机制协同实现,支持安全自定义与监控排错。

/tmp 目录的清理不是“删完就完”,而是靠规则驱动、分层管理的自动机制。现代 linux(systemd 系统)默认不依赖手动 rm 或 cron 脚本,而是由 systemd-tmpfiles 统一管控,兼顾安全性、可配置性和稳定性。
/tmp 清理的核心机制
系统通过三类方式协同工作:
- 开机时清理:部分发行版在启动早期执行一次快速清理,行为由
TMPTIME变量控制(如TMPTIME=10表示保留 10 天内访问过的文件); - 定时自动清理:由
systemd-tmpfiles-clean.timer触发,默认每天运行一次,调用systemd-tmpfiles --clean扫描并删除过期文件; - 配置驱动策略:所有清理逻辑来自
/etc/tmpfiles.d/*.conf等配置文件,例如一行d /tmp 1777 root root 10d表示:对 /tmp 目录,设权限 1777,清理 10 天未访问的文件。
查看和验证当前清理配置
先确认系统是否启用标准机制:
- 检查定时器状态:
systemctl status systemd-tmpfiles-clean.timer(应为 active); - 查看生效的配置来源:
systemd-tmpfiles --cat-config或直接读ls /etc/tmpfiles.d/ /usr/lib/tmpfiles.d/; - 模拟清理过程(不真正删除):
systemd-tmpfiles --clean --dry-run /etc/tmpfiles.d/*.conf,观察哪些路径会被处理。
安全自定义清理规则
运维中常需调整策略,但必须通过配置文件而非直接删文件:
时尚化妆品商城整站 for ECSHOP
2
ECSHOP时尚化妆品商城网站整站系统,基于ECSHOP2.7.3UTF-8版本制作,适合服装,首饰等商城网店使用。 安装方法:1. 下载程序后,删除data目录下的install.lock文件。2.访问:域名/install 按照提示进行安装.3.安装完成后,登陆网站后台—还原数据库4.还原后.模板管理—选择男装模板5.清空缓存6.修改管理员密码.还原数据后,后台信息:用户名:admin
2 - 新建规则文件:
sudo nano /etc/tmpfiles.d/my-tmp.conf; - 添加规范条目,例如:
-
d /tmp 1777 root root 7d(7 天未访问即清理); -
x /tmp/keep-alive(跳过该目录,不清理其下任何内容); -
q /var/log/temp 1755 syslog adm 3d(对自定义日志临时目录设 3 天清理)。
-
- 保存后无需重启服务,下次定时任务或手动运行
systemd-tmpfiles --clean即生效。
紧急情况下的手动清理(慎用)
仅限磁盘告急、服务异常等场景,且避免使用 rm -rf /tmp/*(可能误删正在使用的 socket、pid 文件):
- 安全清理旧文件:
find /tmp -depth -type f -mtime +10 -delete(只删 10 天前普通文件); - 排除系统私有目录:
find /tmp -path '/tmp/systemd-private-*' -prune -o -type f -mtime +10 -delete; - 查看占用大户:
du -sh /tmp/* 2>/dev/NULL | sort -hr | head -10,再针对性处理。
监控与排错
清理是否真在运行?有没有删错?关键看日志: