Script não gera log de erro [RESOLVIDO]

1. Script não gera log de erro [RESOLVIDO]

Wagner Roberto
w4gn3rr0b3r70

(usa Debian)

Enviado em 22/05/2017 - 19:51h

Boa noite, estou com esse script de backup que encontrei aqui no fórum, acontece que mesmo não havendo arquivo para compactar ele criar um arquivo zerado e o log regista como sucesso:

#!/bin/bash

DATA=`date +%d-%m-%y_as_%H-%M-%S`

DIR_FIN="/home/empresa/shares_teste/fin"
DIR_PUBLICO="/home/empresa/shares_teste/pub"
#DIR_PROVAS="/home/shares/provas"
#DIR_LINGUAS="/home/shares/linguas"
DIR_DEST="/home/empresa/backup"

ARQUIVO_LOG="/home/empresa/backup/log_$DATA.txt"

ARQUIVO_FIN="$DIR_FIN$DATA.tar.gz"
ARQUIVO_PUBLIC="$DIR_PUBLICO$DATA.tar.gz"
#ARQUIVO_PROVAS="$DIR_PROVAS$DATA.tar.gz"
#ARQUIVO_LINGUAS="$DIR_LINGUAS$DATA.tar.gz"

rm -f $DIR_DEST/fin*

tar -czPpf $DIR_DEST/financeiro_$DATA.tar.gz $DIR_FIN > /dev/null 2>&1

if [$? -gt 0 ]; then
echo >> $ARQUIVO_LOG
echo ATENCAO --- Houve erro na copia da pasta $DIR_FIN para $DIR_DEST >> $ARQIVO_LOG
else
echo >> $ARQUIVO_LOG
echo OK --- A pasta $DIR_FIN foi copiado com sucesso para $DIR_DEST >> $ARQUIVO_LOG
fi;


  


2. Re: Script não gera log de erro

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 22/05/2017 - 20:29h

w4gn3rr0b3r70 escreveu:

Boa noite, estou com esse script de backup que encontrei aqui no fórum, acontece que mesmo não havendo arquivo para compactar ele criar um arquivo zerado e o log regista como sucesso:

#!/bin/bash

DATA=`date +%d-%m-%y_as_%H-%M-%S`

DIR_FIN="/home/empresa/shares_teste/fin"
DIR_PUBLICO="/home/empresa/shares_teste/pub"
#DIR_PROVAS="/home/shares/provas"
#DIR_LINGUAS="/home/shares/linguas"
DIR_DEST="/home/empresa/backup"

ARQUIVO_LOG="/home/empresa/backup/log_$DATA.txt"

ARQUIVO_FIN="$DIR_FIN$DATA.tar.gz"
ARQUIVO_PUBLIC="$DIR_PUBLICO$DATA.tar.gz"
#ARQUIVO_PROVAS="$DIR_PROVAS$DATA.tar.gz"
#ARQUIVO_LINGUAS="$DIR_LINGUAS$DATA.tar.gz"

rm -f $DIR_DEST/fin*

tar -czPpf $DIR_DEST/financeiro_$DATA.tar.gz $DIR_FIN > /dev/null 2>&1

if [$? -gt 0 ]; then
echo >> $ARQUIVO_LOG
echo ATENCAO --- Houve erro na copia da pasta $DIR_FIN para $DIR_DEST >> $ARQIVO_LOG
else
echo >> $ARQUIVO_LOG
echo OK --- A pasta $DIR_FIN foi copiado com sucesso para $DIR_DEST >> $ARQUIVO_LOG
fi;


Boa noite w4gn3rr0b3r70.
O teste está ERRADO!
if [$? -gt 0 ]; then
É necessário que tenha espaço dos colchetes:
if [ $? -gt 0 ]; then 

.
.
.

OBS.: Otimize esses "echos"!!!!
echo -e "\nOK --- A pasta $DIR_FIN foi copiado com sucesso para $DIR_DEST" >> $ARQUIVO_LOG

att.:
marcelo oliver



3. Re: Script não gera log de erro [RESOLVIDO]

Wagner Roberto
w4gn3rr0b3r70

(usa Debian)

Enviado em 22/05/2017 - 20:30h

Achei a solução com esse script, não entendi pq esse funcionou e o outro não

#!/bin/bash
# Variavel para a data
DIA=`date +%d-%m-%y`
# Variavel para o LOG
LOG="/var/log/backup/log.$dia"
# Produra arquivos com mais de 7 dias, se encontrado, deleta
find /media/backup -mtime +7 -exec rm -f {} \;
# Compacta a a pasta pasta escolhida e envia para /media/backup com a data no nome do arquivo
tar -czvf /media/backup/backup_$DIA.tar.gz /home/users
# Cria uma variavel para erros
RETVAL=$?
# SE o retono de erro for 0 (ou seja com erro)
if [ $RETVAL != "0" ]
# Grava o LOG com o código do Erro encontrado
then
echo "---------------------------------------" >> $LOG
echo "Erro na gravacao do backup em fita = $RETVAL" >> $LOG
echo "---------------------------------------" >> $LOG
# Senao (Caso o retorno seja 1, ou seja, sem erro)
else
# Grava o log informado que tudo esta OK
echo "----------------------------------" >> $LOG
echo "gravacao do backup em fita esta ok" >> $LOG
# Verificando a integridade do arquivo
echo "Resultado da integridade do arquivo" >> $LOG
md5sum /media/backup/backup_$DIA.tar.gz |md5sum --check >> $LOG
echo "----------------------------------" >> $LOG
fi


4. Re: Script não gera log de erro [RESOLVIDO]

Wagner Roberto
w4gn3rr0b3r70

(usa Debian)

Enviado em 22/05/2017 - 20:33h

Aff, hahaha, um "simples" espaço ferrando com o script, vlw mesmo!!!

Vou otimizar os echos



5. Re: Script não gera log de erro [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 22/05/2017 - 21:09h

w4gn3rr0b3r70 escreveu:

Aff, hahaha, um "simples" espaço ferrando com o script, vlw mesmo!!!

Vou otimizar os echos


Pois é, ferra mesmo . . .
Este outro não precisa de espaços:
((1<10)) && echo MENOR || echo MAIOR

mso








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts