Acredito que a resposta seja dada em Quando exatamente o tmpwatch limpa os arquivos que eu coloco em / tmp? (suponho que faça a pergunta duplicada, mas não posso marcá-la como tal).
No nosso servidor, usamos /tmp
para armazenar um cache do lado do servidor. O caminho do cache é único para cada site e também para cada revisão do git. Portanto, quando o código é atualizado, a pasta de cache antiga é abandonada. Os arquivos nele são eventualmente excluídos, mas as próprias pastas persistem. Isso não está realmente causando um problema (ainda), mas parece confuso. Existe alguma maneira de excluir automaticamente as pastas em /tmp
que estão vazias por X dias?
De acordo com as páginas do manual, tmpwatch
deve remover diretórios não utilizados, mas não está fazendo isso.
$ 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
Não vejo nada que impeça a remoção de diretórios.
No entanto, ls -ul
mostra que todos os diretórios em /tmp
(bem, tudo que eu verifiquei) foram acessados hoje , mesmo aqueles que não deveriam ter sido tocados em meses.
Acredito que a resposta seja dada em Quando exatamente o tmpwatch limpa os arquivos que eu coloco em / tmp? (suponho que faça a pergunta duplicada, mas não posso marcá-la como tal).
Você pode tentar adicionar a opção --dirmtime
ao tpmwatch
comandos para que o tempo de acesso não seja verificado para diretórios, apesar do -u
.
(alterar flags='-umc --dirmtime'
não será feito, pois você também precisará remover as aspas duplas de "$flags"
).