Usando o syslog para guardar logs dos seus scripts

Tempo de leitura: 1 minuto

Um dos trem mais bão que existe no Linux são os logs do sistema. Sim, porque aquela parte do sistema consegue dar a nós que somos administradores de sistemas uma visão geral de tudo que está acontecendo em nossos servidores, desktops etc.

Tudo bem que quem adotou completamente sistemas que tem o systemd podem estar passando um pouquinho de aperto e é uma coisa que nós aqui no blog em breve tentaremos ajudar com alguns tutoriais sobre isto.

Mas aqueles sistemas onde o syslog ainda reina firme e forte este tipo de ação pode lhe ajudar para caramba.

Imagine que você tem um serviço que possui algum bug ( e que não tenho como resolver ) e precisa ser reiniciado de tempo em tempo. Você criou um script do seguinte modo :

#!/bin/bash
if [ $(pgrep servico | wc -l) -eq 0 ];
then
/usr/sbin/serviceservico start;
fi

 

Com toda certeza o código acima resolve todos os seus problemas em relação a ter o serviço rodando sem problemas. Mas você perde logs para saber quando ele reiniciou e o porque não é ?

Então para isto você pode usar o logger. A sintaxe dele é bem tranquila, conforme você pode ver abaixo .

logger Sistema sistema parou porque há algum erro

Ou seja, com este comando o seu /var/log/messages ou /var/log/syslog passará a ter um log toda vez que seu sistema parar.

E como adicionar isto ali, no seu script ?

Vamos lá adicionar então.


#!/bin/bash
if [ $(pgrep sistema | wc -l) -eq 0 ];
then
/usr/sbin/service mysql start;
/usr/bin/logger “$0 – Sistema foi reiniciado”
else
/usr/bin/logger “$0 – Sistema  ok ”
fi

Não vou entrar em detalhes aqui mas dá para melhorar um pouco este script para ele fazer um pouco mais de coisas.

Mas, pelo menos agora você já sabe como logar seus scripts shell, python e qualquer coisa que quiser lá no seu syslog tornando a gestão destes registros muito, mas muito mais interessante.

Sobre ataliba

Pai, marido e analista de sistemas especializado em Linux e Network que fala aqui sobre suas especialidades para tentar ajudar mais os colegas e a comunidade do Software Livre.