você está aqui: Home  → Arquivo de Mensagens

Como limpar/truncar/zerar diversos arquivos de uma só vez (por exemplo, arquivos de log) sem ter que apagá-los e recriá-los depois.

Colaboração: Mário Jorge Limeira dos Santos

Data de Publicação: 29 de novembro de 2012

Quem administra servidores linux sabe que certas vezes é necessário limpar arquivos de logs manualmente para liberar espaço em disco na partição raiz. Aparentemente a solução mais simples é excluir os arquivos e aguardar que o(s) daemon(s) ao(s) qual(is) os arquivos pertencem recriem esses arquivos.

Porém, muitas vezes esses arquivos são recriados com o dono e/ou grupo e/ou permissões diferentes daquelas que o arquivo tinha antes de ser apagado e isso pode trazer sérios transtornos ao sistema rodando no servidor.

Esse dias foi preciso limpar uns arquivos de log de acesso do Sarg para liberar espaço na partição raiz de um servidor. Depois de tentar algumas combinações de comandos com o find e o xargs e depois de muito buscar na web, encontrei uma solução utilizando os comandos find e xargs em um fórum.

Logado no servidor como usuário root faça:

  # find . -size +1M -iname \*.log | xargs -i bash -c "echo > {}"

Nesse caso, os arquivos de log que se desejava limpar foram filtrados pelo tamanho do arquivo (Arquivos com tamanho acima de 1MB ), mas é possível aplicar diversos filtros. Para ver as opções completas basta digitar no terminal:

  # man find

Referência: http://www.mail-archive.com/shell-script@yahoogrupos.com.br/msg05088.html

Observação: essa dica foi utilizada num servidor com a distribuição CentOS mas deve funcionar em outras distribuições com linux.

Analista de Tecnologia da Informação do Instituto Federal de Educação, Ciência e Tecnologia do Ceará - IFCE. Mestre em Ciência da Computação pela Universidade Federal Rural do SemiÁrido - UFERSA. Usuário e apoiador do Linux e do Sofware Livre há 8 anos.


Veja a relação completa dos artigos de Mário Jorge Limeira dos Santos

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script