Pular para o conteúdo

Organize seu /var/log/messages

Este script eu criei para organizar meu /var/log/messages por data, para facilitar  uma consulta posterior aos logs gerados pelo syslog.
Edersom edersomangelo
Hits: 13.432 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Este script eu criei para organizar meu /var/log/messages por data, para facilitar  uma consulta posterior aos logs gerados pelo syslog.
Download org Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Baixando fotos de uma câmera digital pela USB

Recriando /dev/null

Criação de usuario / gerando senha automatica

Criando Boot pelo USB para o VirtualBox no Linux KDu5

Compactar com senha usando 7Zip

#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

Entre na sua conta para comentar.