Organize seu /var/log/messages

Publicado por Edersom 05/03/2005

[ Hits: 12.969 ]

Download org




Este script eu criei para organizar meu /var/log/messages por data, para facilitar  uma consulta posterior aos logs gerados pelo syslog.

  



Esconder código-fonte

#!/bin/bash
#
# SCRIPT: org
# AUTOR: EDERSOM ANGELO DA SILVA (maxmaxine@gmail.com)
# DATA 2/1/2005
# REV: 1.1.0p
# PLATAFORMA:Slackware/Conectiva LINUX (podendo ser necessário modificações para outras distros)
#
# FINALIDADE: 
#   Organizar os logs do sistema
#   Localizados em /var/log/messages
#
# USO:
#   Eu tenho uma regra no meu crontab que executa este script às 0 (zero) horas todos os dias
#   gerando assim um histórico diário do /var/log/messages facilitando uma consulta posterior pela data.
#
# ENTRADA GERADA NO CRONTAB
#   # Organiza Logs do sistema
#   59 23 * * * org
#
# LISTA DE REVISÃO:
#   DATA: 
#   POR: 
#   MODIFICAÇÃO: 
#
# 
# set -n   #Tire o comentário para verificar a sintaxe
#      #Sem executar o Script
# set -x   #Retire o comentário para depurar o script (apenas com ksh (korn shell))
#
# Função que realiza backup
back ()
{
/etc/rc.d/rc.syslog stop 2>&-|| /etc/init.d/syslog stop
time=`date | awk '{print $3$2$6}'`
mv /var/log/messages /var/log/messages-log/$time
/etc/rc.d/rc.syslog start 2>&-|| /etc/init.d/syslog start
}

#                   \\\___///
#                  \\  - -  //
#                   (  @ @  )
# +---------------oOOo-(_)-oOOo---------------+
# |                                           |
# |             INICIO DE MAIN                |
# |                                           |
# +---------------oooO-----Oooo---------------+

if test -d /var/log/messages-log
then
back && echo "O Conteúdo do /var/log/messages foi movido para /var/log/messages-log/$time"
else
mkdir /var/log/messages-log
back && echo "O Conteúdo do /var/log/messages foi movido para /var/log/messages-log/$time"
fi

Scripts recomendados

script para criar Maildir

Script para criação de pacote rpm.

Conversor de logs do svn para rss

Substituir strings em arquivos ascII

Transforme a manpage e infopage em pdf e texto


  

Comentários
[1] Comentário enviado por mrbits em 06/03/2005 - 09:24h

É uma boa idéia, mas a indexação do resultado não ficaria melhor no formato YYYYMMDD ?

Você faria algo como:

time=$(date +%Y%m%d)

e o arquivo seria gravado como, digamos 20050306, e vc teria no seu diretório os arquivos organizados por data.

Se você quer continuar no formato DiaMesLiteralAno, tire aquele AWK de lá e faça

time=$(date +%d%b%Y)

Você evita a chamada de mais um comando, ganhando assim tempo no seu script.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts