você está aqui: Home  → Arquivo de Mensagens

Rotação de arquivos de log

Colaboração: Marcos Aguinaldo Forquesato

Data de Publicação: 27 de Agosto de 1997

Em sistemas Solaris existe um shell script chamado newsyslog, dentro do diretório /usr/lib, que faz a rotação dos arquivos de log.

Por exemplo, todos os dias o arquivo /var/log/syslog é renomeado para syslog.0. É enviado um sinal ao processo syslogd, através do comando

  # kill -HUP ""cat /etc/syslog.pid""

de forma a que seja criado um novo arquivo /var/log/syslog.

O shell script mantém sete gerações de arquivos, ou seja, os eventos gravados no arquivo syslog são mantidos por sete dias.

O shell script se encarrega de renomear o arquivo syslog para syslog.0, o arquivo syslog.0 para syslog.1 e assim sucessivamente.

A seguir incluo o shell script newsyslog, com algumas adaptações, tais como a compressão dos arquivos de log, para ocupar menos espaço no diretório /var/log, aumento do número de versões e monitoração também do arquivo /var/adm/messages.

Este script é executado diariamente através da seguinte entrada no arquivo crontab do usuário root:

  5 4 * * *   /usr/lib/newsyslog 1>/dev/null 2> /dev/null

É claro que pode-se implementar o controle a qualquer tipo de arquivo gerado automaticamente por daemons.

A seguir incluo o arquivo modificado, tal como utilizado no Centro de Computação da Unicamp:


/usr/lib/newsyslog

#! /bin/sh # # newsyslog : Shell para fazer a rotacao das logs # Maquina : Obelix # Data : 14/01/96 # Responsavel : Aguinaldo # # MESSAGES=messages cd /var/adm test -f $MESSAGES.6.gz && mv $MESSAGES.6.gz $MESSAGES.7.gz test -f $MESSAGES.5.gz && mv $MESSAGES.5.gz $MESSAGES.6.gz test -f $MESSAGES.4.gz && mv $MESSAGES.4.gz $MESSAGES.5.gz test -f $MESSAGES.3.gz && mv $MESSAGES.3.gz $MESSAGES.4.gz test -f $MESSAGES.2.gz && mv $MESSAGES.2.gz $MESSAGES.3.gz test -f $MESSAGES.1.gz && mv $MESSAGES.1.gz $MESSAGES.2.gz test -f $MESSAGES.0.gz && mv $MESSAGES.0.gz $MESSAGES.1.gz cp $MESSAGES $MESSAGES.0 cp /dev/null $MESSAGES chmod 644 $MESSAGES /usr/local/bin/gzip $LOG.0

LOGDIR=/var/log LOG=syslog if test -d $LOGDIR then cd $LOGDIR if test -s $LOG then test -f $LOG.6.gz && mv $LOG.6.gz $LOG.7.gz test -f $LOG.5.gz && mv $LOG.5.gz $LOG.6.gz test -f $LOG.4.gz && mv $LOG.4.gz $LOG.5.gz test -f $LOG.3.gz && mv $LOG.3.gz $LOG.4.gz test -f $LOG.2.gz && mv $LOG.2.gz $LOG.3.gz test -f $LOG.1.gz && mv $LOG.1.gz $LOG.2.gz test -f $LOG.0.gz && mv $LOG.0.gz $LOG.1.gz cp $LOG $LOG.0 cp /dev/null $LOG chmod 644 $LOG /usr/local/bin/gzip $LOG.0 fi fi # kill -HUP cat /etc/syslog.pid cd /


A quem interessar:

  
  O  Centro  de Computacao da Unicamp estara oferecendo no mes de setembro
  os seguintes treinamentos:
  
  ==--------------------------------------+-----------------------+==
  | Unix Avancado - Programacao Cshell   | Oficina HTML Basico   |
  ==--------------------------------------+-----------------------+==
  | Arquitetura TCP/IP                   | Oficina HTML Avancado |
  ==--------------------------------------+-----------------------+==
  | Seguranca de Sistemas Computacionais | Webmaster Basico      |
  ==--------------------------------------+-----------------------+==
  | Administracao de Sendmail            | Webmaster Avancado    |
  ==--------------------------------------+-----------------------+==
  | DNS - Domain Name Service            | Linguagem Java        |
  ==--------------------------------------+-----------------------+==
  
  Em todos os treinamentos, se aplicam os seguintes descontos:
  
    25%  - Orgaos governamentais, entidades de ensino e pesquisa e
           pessoas fisicas
    50% -  Estudantes
           No curso sobre Arquitetura TCP/IP o 
           desconto para estudantes é de 75% 
    50% -  Funcionarios da Unicamp
  
  Para maiores informações, consultar 
  http://www.gacli.unicamp.br/treinamentos.html


Veja a relação completa dos artigos de Marcos Aguinaldo Forquesato

 

 

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