在我们的网络服务器上,我们用来/tmp
存储服务器端缓存。每个网站以及每个 git 修订版的缓存路径都是唯一的。因此,当代码更新时,旧的缓存文件夹将被放弃。其中的文件最终会被删除,但文件夹本身仍然存在。这实际上还没有造成问题,但看起来很混乱。有没有办法自动删除/tmp
已经空了X天的文件夹?
根据手册页,tmpwatch
应该删除未使用的目录,但它没有这样做。
$ cat /etc/cron.daily/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
/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
我没有看到任何可以阻止它删除目录的东西。
但是,ls -ul
显示所有目录/tmp
(好吧,我检查过的所有目录)都已被访问今天,甚至是几个月内不应该碰的东西。
答案1
我相信答案已给出tmpwatch 到底什么时候清除我放在 /tmp 中的文件?(我想这会使问题重复,但我不能将其标记为重复)。
答案2
您可以尝试--dirmtime
向tpmwatch
命令添加选项,以便不检查目录的访问时间,尽管-u
. (更改flags='-umc --dirmtime'
不起作用,因为您还需要删除 中的双引号"$flags"
)。