Estou começando a colocar vários arquivos /tmp
e me perguntei sobre as regras para excluí-los.
Imagino que seja diferente para diferentes distribuições e estou particularmente interessado nas versões de desktop do Ubuntu e Fedora.
Mas uma boa maneira geral de descobrir seria uma grande coisa.
Melhor ainda seria uma boa maneira geral de controlá-lo! (Algo como 'todos os dias às três da manhã, exclua todos os /tmp
arquivos com mais de 60 dias, mas não limpe o diretório na reinicialização')
Respostas:
Isso depende da sua distribuição. Em alguns sistemas, ele é excluído apenas quando inicializado, outros têm cronjobs executando a exclusão de itens anteriores a n horas.
/etc/default/rcS
)./etc/cron.daily/tmpwatch
; RHEL7 e RedHat com systemd está configurado/usr/lib/tmpfiles.d/tmp.conf
, chamado porsystemd-tmpfiles-clean.service
)./etc/conf.d/bootmisc
.fonte
systemd-tmpfiles-clean.service
.tmpreaper
pacote, sua versão bifurcadatmpwatch
.cat: /etc/default/rcS: No such file or directory
No CentOS (e eu assumo o Fedora), existe um trabalho no /etc/cron.daily chamado
tmpwatch
. Isso é executado/usr/sbin/tmpwatch
, o que excluirá os arquivos que não foram acessados no número especificado de horas, ou seja, o comportamento padrão é examinaratime
o arquivo para avaliar se ele foi usado recentemente.http://linux.die.net/man/8/tmpwatch
Outras distribuições (e instalações) podem ter / tmp montado como tmpfs, que é um sistema de arquivos na memória. Isso será limpo na inicialização.
fonte
yum install tmpwatch
sudo find /tmp -type f -atime +10 -delete
excluirá arquivos tmp que não foram acessados em 10 dias, use com cuidadoNo Ubuntu 11.10 que estou usando, há um script inicial
/etc/init/mounted-tmp.conf
. O começo diz o seguinte:Você pode ler com mais detalhes, no entanto, em geral,
/tmp
é limpo quando montado ou/usr
montado. Isso acontece regularmente na inicialização, portanto, essa/tmp
limpeza é executada em cada inicialização.No
/etc/default/rcS
seuTMPTIME
conjunto, o qual é usado no script init acima para alimentar os doisfind
comandos ao final - basicamente controlando a exclusão do arquivo com base em seus tempos (modificado, alterado, acessado).fonte
No RHEL 6.2, os arquivos em / tmp são excluídos pelo tmpwatch se não forem acessados em 10 dias.
O arquivo /etc/cron.daily/tmpwatch define a maneira como o tmpwatch é chamado.
Os argumentos -x são arquivos a serem excluídos. O segundo ao último argumento é o tempo de espera após o último horário acessado. O último argumento é o diretório a ser examinado.
fonte
A partir do Fedora 18, ele
/tmp
é montadotmpfs
(por exemplo, RAM) por padrão e, portanto, apagado ao desligar.Esse comportamento pode ser desabilitado através da emissão
systemctl mask tmp.mount
e reinicialização (e reativado pela emissãosystemctl unmask tmp.mount
e reinicialização) e, em seguida/tmp
, será montado no/
sistema de arquivos e pode ser controlado pelas/usr/lib/tmpfiles.d/tmp.conf
configurações.Veja http://fedoraproject.org/wiki/Features/tmp-on-tmpfs e
man tmpfiles.d
para mais detalhes sobre cada caso.fonte
No openSUSE 13.2, o comportamento de limpeza pode ser controlado com a seguinte variável no 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
Você pode modificar essas variáveis (o uso de cada variável também pode ser encontrado lá)
/etc/sysconfig/cron
arquivo manualmente na linha de comando.fonte
Os arquivos sorta-tempy que você não deseja limpar na inicialização são exibidos em / var / tmp
É para isso que serve :-)
fonte