Pular para o conteúdo

Ainda não entendi como criar um log??!?! [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Ainda não entendi como criar um log??!?! [RESOLVIDO]

Enviado em 31/03/2010 - 09:21h

Tenho o seguinte scritp:

#!/bin/bash
#Autor: William Lima
#Programa de criação de backup full
#DATA: 19 de Março de 2010

DATA=`date +%d-%m-%Y`
cd /home/arvorebackup/Compartilha
echo "dentro da pasta"
echo "Compactando"
tar -cfv Douglas.tar Douglas
sleep 15
tar -cfv Thais.tar Thais
sleep 15
tar -cfv Andre.tar Andre
sleep 15
tar -cfv Rodrigo.tar Rodrigo
sleep 15
tar -cfv Cesar.tar Cesar
sleep 15
tar -cfv Will.tar Will
sleep 15
tar -cfv Marcos.tar Marcos
sleep 15
tar -cfv Sheyla.tar Sheyla
sleep 15
tar -cfv Elaine.tar Elaine
sleep 15
tar -cfv Andreia.tar Andreia
sleep 15
bzip2 Douglas.tar
sleep 15
bzip2 Thais.tar
sleep 15
bzip2 Andre.tar
sleep 15
bzip2 Rodrigo.tar
sleep 15
bzip2 Cesar.tar
sleep 15
bzip2 Will.tar
sleep 15
bzip2 Marcos.tar
sleep 15
bzip2 Sheyla.tar
sleep 15
bzip2 Elaine.tar
sleep 15
bzip2 Andreia.tar
sleep 15
echo "Apagando"
rm -rfv /home/arvorebackup/Compartilha/Douglas
sleep 10
rm -rfv /home/arvorebackup/Compartilha/Thais
sleep 10
rm -rfv /home/arvorebackup/Compartilha/Andre
sleep 10
rm -rfv /home/arvorebackup/Compartilha/Rodrigo
sleep 10
rm -rfv /home/arvorebackup/Compartilha/Cesar
sleep 10
rm -rfv /home/arvorebackup/Compartilha/Will
sleep 10
rm -rfv /home/arvorebackup/Compartilha/Marcos
sleep 10
rm -rfv /home/arvorebackup/Compartilha/Sheyla
sleep 10
rm -rfv /home/arvorebackup/Compartilha/Elaine
sleep 10
rm -rfv /home/arvorebackup/Compartilha/Andreia
sleep 10

#Criando pasta para armazenamento
mkdir -v $DATA
mv /home/arvorebackup/Compartilha/Douglas.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
mv /home/arvorebackup/Compartilha/Thais.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
mv /home/arvorebackup/Compartilha/Andre.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
mv /home/arvorebackup/Compartilha/Rodrigo.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
mv /home/arvorebackup/Compartilha/Cesar.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
mv /home/arvorebackup/Compartilha/Will.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
mv /home/arvorebackup/Compartilha/Marcos.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
mv /home/arvorebackup/Compartilha/Sheyla.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
mv /home/arvorebackup/Compartilha/Elaine.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
mv /home/arvorebackup/Compartilha/Andreia.tar.bz2 /home/arvorebackup/Compartilha/$DATA
sleep 10
#cd /home/arvorebackup/Compartilha
tar -pcf $DATA.tar $DATA
bzip2 $DATA.tar
sleep 10
mv /home/arvorebackup/Compartilha/$DATA.tar.bz2 /home/arvorebackup/Backups
sleep 10
rm -rfv /home/arvorebackup/Compartilha/$DATA
echo "Fim"

Quero criar um log sei que colocando o -v ele lista a ação mas como fazer isso? Como fazer para ele criar o log de tudo e não só do echo to seguindo essa explicação mas ainda não consegui entender como usar:

http://www.zago.eti.br/script/log-de-comandos.html

Responder tópico

2. Re: Ainda não entendi como criar um log??!?! [RESOLVIDO]

Enviado em 31/03/2010 - 09:44h

Se estiver na cron, a linha deve ser do tipo..

00 20 * * 6 /caminho/do/script.sh &> /caminho/dos/logs.log

isto faz com que seja executado o script.sh e a saída de vai para o arquivo logs.log

3. Re: Ainda não entendi como criar um log??!?! [RESOLVIDO]

Enviado em 31/03/2010 - 09:47h

Você pode utilizar o comando logger, que gera os logs com prioridades e mensagens personalizadas através do syslog. Assim, as mensagens vão para o /var/log/messages junto com as mensagens do sistema.

Essa solução de gerar logs usando o comando echo eu só acho boa quando se está ainda desenvolvendo o script.

[]'s
Pedro Pereira
www.pedropereira.net

4. Re: Ainda não entendi como criar um log??!?! [RESOLVIDO]

Enviado em 31/03/2010 - 10:39h

se entendi certo, o que o leomarie disse vc conseguirá criar o arquivo log

./script.sh > arq.log


{{
o que não entendi, é todos esses sleeps

você vai ficar 7min 10 por nada até acabar o script
}}

bom,espero q ajude

5. Re: Ainda não entendi como criar um log??!?! [RESOLVIDO]

Enviado em 31/03/2010 - 10:46h

Então cara tive que colocar esses sleeps para ele para a execução e completar a tarefa, que as vezes ele nw terminava a tarefa e fazia o backup pela metade com isso ele para e executa, teria alguma outra maneira de fazer isso?

6. crie condições com 'if'

Enviado em 31/03/2010 - 18:05h

Cara, pelo que entendi, vc quer o log de cada comando executado. Vc pode fazer algo bastante complexo para verificar cada linha de comando.
Após cada comando, vc pode inserir a seguinte condição:

if [ $? == 0 ]
then
echo "O Comando xyz foi executado com sucesso" >> /tmp/arquivo_de_log
fi

O '$?' retorna o numero 0 (zero) se tudo ocorreu corretamente no ultimo comando.

Vc tb pode atribuir uma variável ao '/tmp/arquivo_de_log', assim evita repetir essa linha em todo o seu script.

Já desenvolvi alguns scripts dessa forma e é uma ótima saída para vc verificar tudo o que seu script realiza.

Não esqueça de repetir o 'if' para cada comando que é executado.

Boa sorte

7. Re: Ainda não entendi como criar um log??!?! [RESOLVIDO]

Enviado em 20/01/2012 - 10:51h

Desculpe reviver o tópico, mas estou com uma dúvida bem parecida com o nosso amigo

tenho um script para armazenar o log direto no /var/log/messages, mas em alguns servidores não funciona

Abaixo está o script

# !/bin/bash

echo "Msn-Proxy" | logger -t MSN-PROXY

service msn-proxy stop | logger -t MSN-PROXY
sleep 1
service msn-proxy start | logger -t MSN-PROXY


Sem o logger, ele funciona normal, mas não registra. Com o logger, ele trava o processo e não levanta. O que eu poderia fazer para que esse script armazene o log no /var/log/messages???


Desde já agradeço a atenção

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder