我打算将各种文件放入/tmp
,并且想知道删除它们的规则?
我想这对于不同的发行版是不同的,并且我对Ubuntu和Fedora桌面版本特别感兴趣。
但是,找到一种不错的通用方法将是一件好事。
更好的控制方法是更好的一般方法!(类似于“每天凌晨3点,删除所有/tmp
早于60天的文件,但不要在重新启动时清除目录”)
我打算将各种文件放入/tmp
,并且想知道删除它们的规则?
我想这对于不同的发行版是不同的,并且我对Ubuntu和Fedora桌面版本特别感兴趣。
但是,找到一种不错的通用方法将是一件好事。
更好的控制方法是更好的一般方法!(类似于“每天凌晨3点,删除所有/tmp
早于60天的文件,但不要在重新启动时清除目录”)
Answers:
那取决于你的分布。在某些系统上,仅在启动时才将其删除,而在其他系统上,则运行cronjobs来删除早于n小时的项目。
/etc/default/rcS
)。/etc/cron.daily/tmpwatch
划分(RHEL6是;使用systemd的RHEL7和RedHat类似,其配置在中/usr/lib/tmpfiles.d/tmp.conf
,由调用systemd-tmpfiles-clean.service
)。/etc/conf.d/bootmisc
。systemd-tmpfiles-clean.service
。
tmpreaper
package,它是的分叉版本tmpwatch
。
在CentOS(我假设是Fedora)上,/ etc / cron.daily中有一个名为的工作tmpwatch
。这将运行/usr/sbin/tmpwatch
,这将删除在指定小时数内未访问过的文件,即,默认行为是检查atime
文件的,以评估最近是否使用过该文件。
http://linux.die.net/man/8/tmpwatch
其他发行版(和安装)可能已将/ tmp挂载为tmpfs,这是一个内存文件系统。这将在启动时清除。
yum install tmpwatch
sudo find /tmp -type f -atime +10 -delete
会删除10天内未访问的tmp文件,请谨慎使用
在我正在使用的Ubuntu 11.10上,中有一个upstart脚本/etc/init/mounted-tmp.conf
。它的开始说:
# 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
已安装时将其清除。这通常在引导时发生,因此这种/tmp
清洁在每次引导时都会运行。
在/etc/default/rcS
已TMPTIME
设定,这在上面的初始化脚本被用来将两个馈送find
命令在其端部-基本上控制基于它们的倍文件删除(修改,改变,访问)。
在RHEL 6.2上,如果10天内未访问过/ tmp中的文件,则tmpwatch会将其删除。
文件/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参数是要排除的文件。倒数第二个是在上次访问时间之后等待的时间。最后一个参数是要检查的目录。
从Fedora 18开始,默认情况下/tmp
已安装在tmpfs
(即RAM)上,因此在断电时会被擦除。
可以通过发行systemctl mask tmp.mount
和重新启动来禁用此行为(并通过发行systemctl unmask tmp.mount
和重新启动来重新启用),然后/tmp
将其安装在/
文件系统上并可以通过/usr/lib/tmpfiles.d/tmp.conf
设置来控制。
见http://fedoraproject.org/wiki/Features/tmp-on-tmpfs和man tmpfiles.d
对每个案件的更多细节。
在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
在命令行中手动编辑文件。