/tmp
中,我想知道删除它们的规则吗?我想对于不同的发行版它是不同的,并且我对Ubuntu和Fedora桌面特别感兴趣版本。
,但是找到一种好的通用方法将是一件好事。
更好的是一种控制它的通用方法! (类似于“每天凌晨3点,删除所有早于60天的
/tmp
文件,但不要在重新启动时清除目录”)#1 楼
这取决于您的分布。在某些系统上,仅在启动时才将其删除,其他系统则运行cronjobs来删除早于n小时的项目。 。 (该答案的积分)。在Ubuntu 16上,使用
tmpreaper
。 (此答案的积分)。在其他类似Debian的系统上:引导(规则在
/etc/cron.daily
中定义)。在类似RedHat的系统上:按年龄划分(RHEL6是
/etc/default/rcS
; RHEL7 / RHEL8以及与reddat类似的systemd,它在/etc/tmpreaper.conf
中配置,称为tmpfiles.d
)。在Gentoo
/etc/default/rcS
中。评论
而且,无论何时发生这种情况,唯一安全的时刻通常是在挂载后立即启动,因为正在运行的进程可能已将文件锁定在那里,因此不应删除这些文件。
–适配器
2012年4月6日15:14
也有可以定期删除它们的软件包。
–塞缪尔·埃德温·沃德(Samuel Edwin Ward)
2012年4月6日在20:15
在具有systemd(centos7 / rhel7)的类似RedHat的系统上,它在/usr/lib/tmpfiles.d/tmp.conf中进行配置。它由systemd的目标systemd-tmpfiles-clean.service调用。
–富兰克林·皮亚特
15年3月13日在12:06
在旧版Debian上,您可以考虑使用tmpreaper软件包,它是tmpwatch的分叉版本。
–VěrošK.
17-10-12在9:37
Ubuntu 19.04:cat:/ etc / default / rcS:没有这样的文件或目录
–鲍里斯(Boris)
19-10-10在22:17
#2 楼
在CentOS(我假设是Fedora)上,/ etc / cron.daily中有一个名为tmpwatch
的工作。这将运行/usr/sbin/tmpwatch
,它将删除在指定小时数内未访问过的文件,即默认行为是检查atime
文件,以评估它是否最近被使用过。http://linux.die.net/man/8/tmpwatch
其他发行版(和安装)可能已将/ tmp挂载为tmpfs,这是一个内存文件系统。这将在启动时清除。
评论
我在CentOS 7.4上没有此功能。
–凯文·勒梅尔
18-2-15在11:06
@KevinLemaire功能已移至系统服务中。 listing.centos.org/pipermail/centos/2014-October/147155.html
– cjc
18年2月15日在15:30
如果找不到tmpwatch文件,则可以使用yum install tmpwatch下载tmpwatch。
–吴锡龙
18年11月12日在8:18
我可以在其他发行版上获得tmpwatch吗?听起来很棒。我在基于Debian的发行版上
–乔纳森
19年5月14日在22:40
sudo find / tmp -type f -atime +10 -delete将删除10天未访问的tmp文件,请谨慎使用
–乔纳森
19年5月14日在22:42
#3 楼
在我正在使用的Ubuntu 11.10上,/etc/init/mounted-tmp.conf
中有一个upstart脚本。它的开头表示:# mounted-tmp - Clean /tmp directory
#
# Cleans up the /tmp directory when it does not exist as a temporary
# filesystem.
description "Clean /tmp directory"
start on (mounted MOUNTPOINT=/tmp) or (mounted MOUNTPOINT=/usr)
您可以阅读更多详细信息,但是通常在安装或安装
/tmp
时都会对其进行清洁。这通常在启动时发生,因此此/usr
清洗会在每次启动时运行。根据其时间(修改,更改,访问)删除文件。#4 楼
在RHEL 6.2上,如果10天之内没有访问过,则tmpwatch会删除/ tmp中的文件。文件/etc/cron.daily/tmpwatch定义了tmpwatch的调用方式。 >
#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
-X '/tmp/hsperfdata_*' 10d /tmp
-x参数是要排除的文件。倒数第二个是在上次访问时间之后等待的时间。最后一个参数是要检查的目录。
#5 楼
从Fedora 18开始,默认情况下/tmp
安装在tmpfs
(即RAM)上,因此在断电时会被擦除。 ),然后将systemctl mask tmp.mount
安装在systemctl unmask tmp.mount
文件系统上,并可以通过/tmp
设置进行控制。有关更多信息,请参见http://fedoraproject.org/wiki/Features/tmp-on-tmpfs和
/
。每个案例的详细信息。#6 楼
在openSUSE 13.2上,可以使用sysconfig中的以下变量控制清除行为。MAX_DAYS_IN_TMP
MAX_DAYS_IN_LONG_TMP
TMP_DIRS_TO_CLEAR
LONG_TMP_DIRS_TO_CLEAR
OWNER_TO_KEEP_IN_TMP
CLEAR_TMP_DIRS_AT_BOOTUP
您可以通过以下方式修改这些变量(每个变量的用法也可以在此处找到)。
在命令行中手动编辑
/etc/sysconfig/cron
文件。 打开Yast并导航到系统-> / etc / sysconfig编辑器->系统-> Cron
#7 楼
更好的控制它的一种好方法! (类似于“每天凌晨3点,删除所有早于60天的/ tmp文件,但不要在重新启动时清除目录”)
您不想在启动时清除/ var / tmp
这就是它的作用:-)
评论
相关:askubuntu.com/questions/20783/…