Usando um cronjob para limpar / tmp

10

É seguro usar um script bash e um cronjob para esvaziar /tmp automaticamente ou devo fazer isso de forma diferente?

    
por Jochem Kuijpers 07.03.2014 / 22:38

2 respostas

12

/tmp é limpo em todas as reinicializações do sistema, mas em sistemas que não podem ser reinicializados com frequência e, especialmente, se o único objetivo for limpar /tmp , um script pode ser feito para limpá-lo.

Nenhum processo deve manter dados importantes, mas é importante que você possa limpar /tmp sem interromper nenhum processo de gravação de dados em tmp .

Eu recomendo usar tmpreaper para isso.

Você pode instalá-lo com sudo apt-get install tmpreaper .

Da página do manual:

  

tmpreaper procura recursivamente e remove arquivos e diretórios vazios que não foram acessados por um determinado número de segundos. Normalmente, ele é usado para limpar diretórios que são usados para espaços temporários, como "/ tmp". Por favor, leia a seção ADVERTÊNCIAS deste manual.

O uso normalmente envolve a invocação de tmpreaper in /tmp com um argumento de especificação de tempo. O argumento da especificação de hora pode ser qualquer coisa de d para dias, h para horas, m para minutos ou s para segundos.

Por favor, use o --test para execução seca e obtenha uma saída dos resultados antes de executar o comando. Isso fará com que você tenha uma ideia do que será excluído antes de realmente confirmar quaisquer alterações no sistema de arquivos.

    
por Bruno Pereira 07.03.2014 / 22:48
2

Tente adicionar um cronjob que seja executado

find /tmp/* -type d -mtime +5 -print0 | xargs -0 rm -rf 
find /tmp/* -type f -mtime +5 -print0 | xargs -0 rm -rf 

Isso excluiria todos os arquivos com mais de cinco dias.

    
por turbophi 28.12.2016 / 10:58

Tags