Linux /tmp 目录管理
Linux会自动清理/tmp目录但清理的频率、具体行为取决于你的系统配置和发行版。主要有以下几种机制1. 基于 systemd 的系统大多数现代发行版如 Ubuntu、Debian、CentOS 等通过systemd-tmpfiles服务管理。清理规则默认配置通常在/usr/lib/tmpfiles.d/tmp.conf中。清理策略清理/tmp中10天内未被访问、修改或状态变更的文件和目录。每次开机、或systemd-tmpfiles --clean定时运行时触发。特殊行为不会删除/tmp中的根目录下的文件即/tmp下直接存放的文件只清理子目录内的文件实际上规则更细tmp.conf默认清理/tmp下任何满足10天条件的文件/目录包括直接放在/tmp下的文件但以.开头的隐藏文件、systemd 自动挂载点、容器/快照临时文件等不会被清理。你可以通过创建/etc/tmpfiles.d/tmp.conf覆盖规则例如改成7天或禁止清理。2. 使用tmpreaper的旧系统或手动安装部分发行版如一些旧版 Debian/Ubuntu 前 systemd 时期或嵌入式使用tmpreaper工具。通常由 cron 定期运行如每天。默认也会清理/tmp中超过指定天数例如7天或10天的文件。支持更灵活的排除规则。3. 内存文件系统 (tmpfs) 形式的/tmp很多 Linux 发行版将/tmp挂载为tmpfs数据存在内存 swap 中。清理时机重启时会完全清空因为是内存中的文件系统重启后数据自然消失。好处速度快但重启后临时文件丢失。检查方法运行mount | grep /tmp如果看到tmpfs on /tmp type tmpfs说明是内存磁盘。4. 不自动清理的情况通常不会发生如果/tmp是一个普通硬盘目录非 tmpfs且系统没有运行systemd-tmpfiles-clean.timer没有运行tmpreaper的 cron 任务没有其他清理脚本那么/tmp可能永远不会被自动清理。但现代主流发行版默认都会清理systemd 或 cron。总结答案✅是的Linux 会自动清理/tmp最常见的行为是重启时清空如果/tmp是tmpfs定期删除10天以上未使用的文件如果/tmp是普通磁盘目录通过 systemd 或 tmpreaper⚠️ 不要依赖/tmp作为长期存储重要文件请放在/var/tmp清理周期更长或普通用户目录。如何查看/修改清理策略查看清理 timersystemctl status systemd-tmpfiles-clean.timer手动触发清理sudo systemd-tmpfiles --clean修改清理时间编辑/usr/lib/tmpfiles.d/tmp.conf或覆盖/etc/tmpfiles.d/tmp.conf例如设置 7 天d /tmp 1777 root root 7d然后重启服务或用systemd-tmpfiles --create生效
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2557519.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!