Você está na página 1de 6

Opinio dos Leitores

http://www.dicas- l.com.br/arquivo/utiliz ando_logrotate.php November 13, 2012

Voc est aqui: Home Arquivo Dicas-L

Assine a Lista Dicas-L


Receba diariamente por email as dicas de informtica publicadas neste site Para se descadastrar, clique aqui.

Utilizando Logrotate
Colaborao: Naira Kaieski Data de Publicao: 04 de janeiro de 2012 A ferramenta logrotate tem como objetivo rotacionar automaticamente logs de aplicativos segundo a necessidade e a organizao que o administrador de sistemas (SysAdmin) deseje. Todo administrador experiente reconhece a importncia dos logs e principalmente o quo relevante ter os logs disponveis e organizados para um momento onde necessria uma rpida consulta aos mesmos. Esta ferramenta muito til para os SysAdmin e possui recursos flexveis que por vezes no so explorados. relevante salientar que alguns aplicativos possuem seu desempenho comprometido quando seus arquivos de log chegam a tamanhos muito grandes.

Instalar logrotate
Para instalar o logrotate basta efetuar o procedimento padro da distribuio Linux que est sendo utilizada. Gentoo # emerge -va app-admin/logrotate Ubuntu # apt-get install logrotate CentOS # yum install logrotate

Arquivos de configurao do logrotate

Depois de instalado preciso efetuar a personalizao da configurao do logrotate. O logrotate executado automaticamente segundo o agendamento desejado, no entanto alm de permitir um ajuste mais detalhando no prprio arquivo de configurao do logrotate a ferramenta tambm possui sua execuo vinculada ao cron. Dessa forma ao listar o contedo do cron.daily devemos encontrar o script do logrotate que foi adicionado automaticamente no momento da instalao da ferramenta. # ls /etc/cron.daily esperado encontrar na lista de scripts localizadas neste diretrio o " logrotate" O logrotate possui basicamente um arquivo de configurao geral/global: /etc/logrotate.conf Neste arquivo so inseridas as configuraes "padro" de rotacionamento de logs para todos os arquivos de log que foram especificados nas confgiraes do logrotate. Um diretrio, no qual podem ser inseridos arquivos especficos para determinados aplicativos: /etc/logrotate.d Neste diretrio podem ser criados arquivos com configuraes especficas de rotacionamento de logs para determinados aplicativos segundo a necessidade do administrador. Muitos aplicativos ao serem instalados, como por exemplo o Apache, geram um arquivo de rotacionamento de logs dentro do diretrio /etc/logrotate.d com configuraes prprias mas que podem ser facilmente personalizadas, bastando apenas editar o arquivo referente ao aplicativo.

Configurar logrotate
Inicialmente vamos analisar o arquivo de configurao geral/global do logrotate (/etc/logrotate.conf), conforme mencionado anteriormente a execuo do logrotate est vinculada ao cron (agendamento) do sistema operacional dirio, no entanto necessrio personalizar o perodo de rotacionamento dos logs diretamente no logrotate. Vamos analisar algumas opes do arquivo de configurao geral /etc/logrotate.conf (o contedo abaixo est personalizado):

# See " man logrotate" for details # perodo em que os arquivos de log devem ser rotacionados daily rotate 35 compress dateext size 5M copytruncate notifempty nomail noolddir # administrador ou aplicativos podem inserir seus arquivos de configurao especficos de rotacionamento de log neste diretrio include /etc/logrotate.d # tambm podem ser inseridas configuraes de rotacionamento de logs diretamente neste arquivo. # para isso basta definir o nome do arquivo de log a ser rotacionado e suas configuraes especficas que sobrescrevem as gerais definidas anteriormente. /var/log/wtmp { monthly create 0664 root utmp rotate 1 } # preciso especificar os arquivos a serem rotacinados pelo logrotate /var/log/mail.info /var/log/mail.log /var/log/mail.err { rotate 31 } # outra forma de especificar os arquivos a serem rotacionados pelo logrotate /var/log/*log { rotate 31 }

Apenas para verificarmos, na instalao do Apache no Ubuntu foi gerado o arquivo /etc/logrotate.d/apache2 com o seguinte contedo:

/var/log/apache2/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript }

Analisando algumas diretivas de configurao disponveis no logrotate: Perodo em que os arquivos de log devem ser rotacionados As opes para esta configurao so:

daily weekly monthly

diariamente semanalmente mensalmente

rot at e 35 - indica o nmero de arquivos de log rotacionados a serem mantidos, o arquivo rotacionado mais velho sempre substitudo. compress - comprimir os arquivos de log rotacionados (padro o gzip). creat e - imediatamente aps rotacionar um arquivo de log o arquivo de log recriado com o mesmo nome e com as permisses especificadas. Exemplo de sintaxe: create 640 root adm delaycompress - comprimir o arquivo de log rotacionado apenas no prximo rotacionamento. til quando um aplicativo continua escrevendo um arquivo de log por um determinado tempo aps o rotacionamento. Esta diretiva deve ser utilizada de forma concomitante com a diretiva compress. dat eext - inserir a data em que os arquivos foram rotacionado como parte do nome do arquivo de log rotacionado. Um exemplo de arquivo rotacionado gerado com a data no nome: /var/log/syslog-20111218.gz size 5M - tamanho que o arquivo de log deve ter para ser rotacionado, o "M" indica megabytes, tambm pode ser utilizado "k" que indica kilobytes. Neste exemplo o arquivo de log s ser rotacionado se tiver o tamanho mnimo de 5 megabytes. copyt runcat e - esta opo muito til pois permite "limpar" o contedo de um arquivo de log depois que uma cpia dele gerada para o rotacionamento, dessa forma no se perde o arquivo "original" de log. Caso o arquivo original de log seja rotacionado ser preciso gerar um novo arquivo de log com as pemisses corretas para que o aplicativo possa escrever

nele novamente, por vezes isso um problema. not if empt y - no rotacionar o arquivo de log se ele estiver vazio. if empt y - rotacionar o arquivo de log mesmo que este esteja vazio. Esta a opo padro. nomail - no enviar o arquivo de log por e-mail. mail - quando os arquivos de logs forem rotacionados com o nmero mximo de verses (diretiva rotate) estipulado os arquivos de log sero enviados por e-mail para o endereo definido nesta diretiva. Exemplo de sintaxe: mail missingok - se o arquivo de log no existir o logrotate passa para a interpretao do prximo arquivo sem gerar mensagens de erro. noolddir - manter os arquivos de log no diretrio de origem, possvel mover os arquivos de log rotacionados para um outro diretrio desde que no mesmo dispositivo fsico. olddir - diretrio para onde os arquivos de log rotacionados devem ser movidos. Exemplo de sintaxe: olddir /var/log/logs_antigos post rot at e/endscript - os comandos definidos entre estas duas diretivas so executadas logo aps o arquivo de log ser rotacionado. Este conjunto de diretivas s deve ser configurado para uma definio especfica de rotacionamento de log, no pode ser configurado nas diretivas globais do logrotate. prerot at e/endscript - os comandos definidos entre estas duas diretivas so executadas antes o arquivo de log ser rotacionado. Este conjunto de diretivas s deve ser configurado para uma definio especfica de rotacionamento de log, no pode ser configurado nas diretivas globais do logrotate. sharedscript s - geralmente os script definidos nas diretivas postrotate e prerotate so executados para cada um dos logs rotacionados no padro definido previamente, isso significa que um mesmo script pode ser executado vrias vezes. Quando esta diretiva especificada os script definidos nas diretivas postrotate e prerotate so executados uma nica vez. No entanto, caso no haja necessidade de rotacionar os arquivos de log definidos no padro, os scripts no sero executado. Esta diretiva requer a configurao da diretiva create.

Executando manualmente o logrotate


possvel executar manualmente o logrotate caso se queira efetuar algum teste inicial, por exemplo com uma configurao especfica para os arquivos de log de um determinado aplicativo. No terminal, preferencialmente logado com o usurio root execute: # logrotate /etc/logrotate.conf Para forar a execuo do rotacionamento execute: # logrotate --force /etc/logrotate.conf Para verificar com mais detalhes o que est sendo executado pelo logrotate vamos ativar o modo

"verbose" na execuo manual # logrotate --force --verbose /etc/logrotate.conf

Ref erncias
http://linuxcommand.org/man_pages/logrotate8.html

Naira Kaieski Administradora de Redes e Sistemas nas Faculdades Integradas de Taquara - Faccat

Lanado oficialmente o 1 RC do siduction


Fonte: Notcias Linux A criana acabou de nascer! Foi oficialmente publicado no distrowatch: "Ferdinand Thommes anunciou a disponibilidade do primeiro lanamento pblico do siduction, um distribuio orientada a desktop e live CD/DVD baseada no Debian "unstable", atravs de fork recente do aptosid. A distribuio vem na forma de 3 imagens live CD/DVD separadas (para arquiteturas i386 e x86_64) com desktop KDE, LXDE ou Xfce".

Referncias Adicionais
Referncias adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica


Carlos 14 Set 2012, 15:44 Ola! Muito bom sua explicao! Obrigado Diones 08 Jan 2012, 02:46 Mega Artigo, valeu e parabns. dipo Avanzo 04 Jan 2012, 10:05 Muuito boa dica do logrotate, muito bem detalhado e explicado, parabns

Você também pode gostar