removido
(usa Nenhuma)
Enviado em 17/09/2012 - 11:12h
Amigo,
Para ativar logs para script utilizamos o comando logger.
Primeiro é preciso ajustar a facility do seu rsyslog para trabalhar com o log do seu script.
As principais facilitys são:
auth, authpriv, cron, daemon, ftp, kern, local0-7, lpr, mail, mark, news, syslog, user
Os níveis de severidade são:
emerg, alert, crit, err, warning, notice, info, debug
ATENÇÃO:
As facilitys definidas pelo usuário (administrador) são: local0, local1,... até local7.
Então vamos lá...
Primeiro precisamos criar o arquivo local0.log que vai receber os logs do script em /var/log/local0.log
# touch /var/log/messages local0.log
Ajuste o grupo para fins de manutenção de log.(pode ser diferente se não estiver usando um Debian 6 - Simplesmente deixe o dono.grupo igual do /var/log/messages que vai funcionar beleza)
# chgrp adm /var/log/local0.log
Ajuste as permissões
# chmod 0640 /var/log/local0.log
Pronto... O arquivo está criado...
Agora vamos incluir a facility em /etc/rsyslog.d/local0.conf...
O rsyslog.conf pode ser diferente se não estiver no Debian 6.
Neste caso procure o arquivo geral em /etc/rsyslog.conf e inclua
no fim dele.
Edite como:
-----------------------------------------------------------------
local0.* /var/log/local0.log
-----------------------------------------------------------------
Reinicie o rsyslog (pode ser diferente se não estiver no Debian 6. Se não souber reiniciar simplesmente reboot a maquina).
root@hal:/etc/rsyslog.d# service rsyslog restart
Stopping enhanced syslogd: rsyslogd.
Starting enhanced syslogd: rsyslogd.
Faça um teste na linha de comando
#logger -t $0 -p local0.warning -- "Log do meu Script..."
veja se gravou corretamente:
# cat /var/log/local0.log
Sep 17 11:01:06 HAL -bash: Log do meu Script
Se viu uma linha como acima então está tudo OK.
Se estiver juncionando agora é so incluir os comandos logger na lógica do seu script.
Por exemplo,
----------------------------------------------------------
#!/bin/bash
A="1"
[ $A == "1" ] && logger -t $0 -p local0.warning -- "A é igual a 1.";
-----------------------------------------------------------
Irá gerar o seguinte log:
Sep 17 11:03:33 HAL ./avisando.sh: A é igual a 1.
Todos esses passos foram feitos em um Debian 6, se utiliza uma distro diferente pode ser necessário fazer outras mudanças além das que eu citei. O que foge ao escopo da dica.... Mas em grande parte é isso que tem que fazer para trabalhar log em scripts..
Kyetoy