之路 on it Road.com

方法 2 - 禁用 tmpwatch cron 条目

在某些情况下,我们可能无法删除 tmpwatch 包,因为它具有依赖性。
我们会收到如下所示的错误:

# rpm -e tmpwatch
LANG=C rpm -e tmpwatch
error: Failed dependencies:
tmpwatch is needed by (installed) tetex-3.0-33.15.el5_8.1.x86_64
tmpwatch is needed by (installed) cups-1.3.7-32.el5_11.x86_64

或者,我们也可以移动或者删除 /etc/cron.daily/tmpwatch 文件,负责安排从 /var/tmp 和 /tmp/directories 中删除文件。

# mv /etc/cron.daily/tmpwatch /other/location/tmpwatch.bkp

或者

# rm /etc/cron.daily/tmpwatch
如何在 CentOS/RHEL 5,6 中禁用自动删除 /tmp 和 /var/tmp 目录中的文件

如果 /tmp 中的文件/目录长时间没有被访问,它们可能会被自动删除。
“tmpwatch”清除/tmp 或者其他临时目录(如/var/tmp)的内容。
清理 /tmp 中未访问的文件是包“tmpwatch”的默认功能,它提供了一个 cron 作业 /etc/cron.daily/tmpwatch 。
这是 crond 每天踢的一个 shell 脚本,它检查 /tmp、/var/tmp 和 /var/ 中的几个目录,并删除长时间未访问的文件/目录。

例如,CentOS/RHEL 5 上的示例配置文件 /etc/cron.daily/tmpwatch 如下所示:

# cat /etc/cron.daily/tmpwatch
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_*' 240 /tmp
/usr/sbin/tmpwatch "$flags" 720 /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
     if [ -d "$d" ]; then
        /usr/sbin/tmpwatch "$flags" -f 720 "$d"
     fi
done

上述配置将删除 240 小时(/tmp 为 10 天)或者 720 小时(/var/tmp 为 30 天)未访问的文件/目录。

CentOS/RHEL 6 上的示例配置文件 /etc/cron.daily/tmpwatch 如下所示:

# cat /etc/cron.daily/tmpwatch
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_*' -X '/tmp/.hdb*lock' -X '/tmp/.sapstartsrv*.log' \
         -X '/tmp/pymp-*' 10d /tmp
/usr/sbin/tmpwatch "$flags" 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
     if [ -d "$d" ]; then
         /usr/sbin/tmpwatch "$flags" -f 30d "$d"
     fi
done

上述配置将删除 10 (/tmp) 或者 30(/var/tmp) 天未访问的文件/目录。

在大多数情况下,tmpwatch 删除文件可以安全地忽略,因为应该从 /tmp 中删除未使用的文件以释放文件系统空间,这样包含 /tmp 的文件系统不会随着时间的推移而填满。

但是,如果我们出于某种原因强烈需要禁用此功能,尽管 tmpwatch 在确保 /tmp 不会导致文件系统填满方面很重要,我们可以使用下面描述的任何一种方法。

方法 1 - 删除 tmpwatch 包

最简单的方法是删除 tmpwatch 包本身:

# rpm -e tmpwatch

或者

# yum remove tmpwatch
日期:2020-09-17 00:13:30 来源:oir作者:oir