script de verificação

1. script de verificação

andre
negu

(usa Outra)

Enviado em 27/04/2012 - 16:48h

Galera eu tenho o seguinte script:


#!/bin/bash
. /home/db2inst1/sqllib/db2profile

CFG_FILE="banco.cfg"
DESTINATION=`awk -F"=" '/^DESTINATION/ { print $2 }' $CFG_FILE`
QTD_DDL=`awk -F"=" '/^QTD_DDL/ { print $2 }' $CFG_FILE`
INTEGRITY_COPY=`awk -F"=" '/^INTEGRITY_COPY/ { print $2 }' $CFG_FILE`
DBNAME=`awk -F"=" '/^DBNAME/ { print $2 }' $CFG_FILE`
LOGDIR=`awk -F"=" '/^LOGDIR/ { print $2 }' $CFG_FILE`
LOGNEW=`ls -lah /var/log/watchdog/DB_Backup_"$DBNAME" | grep -i database | grep \`date +%d%m%y\`
LOGOLD=`ls -lah /var/log/watchdog/DB_Backup_"$DBNAME" | grep -i database | grep \`date -d yesterday +%d%m%y\`
BKP=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | awk '{print $NF}'`
BKP_NEW=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date +%Y%m%d\` | cut -c50-110'
BKP_OLD=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date -d yesterday +%y%m%d\` | cut -c50-110'
LOG="/var/log/watchdog/DB_Backup_$DBNAME"
PATH_COPY=`awk -F"=" '/^PATH_COPY/ { print $2 }' $CFG_FILE`
QTD_FULL=`awk -F"=" '/^QTD_FULL/ { print $2 }' $CFG_FILE`

#VERIFICA SE DIRETORIO DE LOG EXISTE
echo "Checando existencia de diretorio de log......"
echo""
sleep 5
if [ ! -f "$LOGDIR" ] ; then

#echo "diretorio $LOGDIR nao existe"
#else
echo "1"
exit 1
echo "O diretorio $LOGDIR Existe"


fi
echo ""
#CHECA SE LOG EXISTE
echo "Checando existencia de logs......."
echo ""
sleep 5
if [ ! -f $LOG/$LOGNEW ] && [ ! -f $LOG/$LOGOLD ]; then

#echo "Exibindo arquivo de log atual: $LOGNEW"
else
echo "Arquivo de log nao encontrado"
echo "2"
exit 2

fi


echo ""
#CHECA DIRETORIO DO BACKUP EXISTE
echo "Checando existencia do diretorio de Backup $PATH_COPY........"
echo ""
sleep 5

if [ ! -f $PATH_COPY ] ; then
#echo "Diretorio de backup $PATH_COPY Existe"
#else
echo "Diretorio de backup $PATH_COPY Nao Existe"
echo "3"
exit 3
fi

#CHECHA SE EXISTE BACKUP
echo "Checando Quantidade de backup FULL.......: $QTD_FULL "
echo ""
echo "Listando arquivos..................."
sleep 5
echo ""
echo "$BKP"
echo "Buscando Ultimo backup........"
echo ""
sleep 5

if [ ! -f "$BKP_NEW" ] && [ ! -f "$PATH_COPY/$BKP_NEW" ] ; then

#echo "Exibindo Backup mais atual e Backup de ontem: $BKP_NEW" | echo "Backup de ontem: $BKP_OLD"
#else
echo "Nao foi encontrado nehum backup"
echo "4"
exit 4
fi


ai eu rodo ele e da um erro, estou rodando com bash -x


segue saida:

++ export LD_LIBRARY_PATH
++ '[' -f /home/db2inst1/sqllib/userprofile ']'
++ . /home/db2inst1/sqllib/userprofile
+ CFG_FILE=banco.cfg
++ awk -F= '/^DESTINATION/ { print $2 }' banco.cfg
+ DESTINATION=/db_local/backup/asset
++ awk -F= '/^QTD_DDL/ { print $2 }' banco.cfg
+ QTD_DDL=14
++ awk -F= '/^INTEGRITY_COPY/ { print $2 }' banco.cfg
+ INTEGRITY_COPY=Y
++ awk -F= '/^DBNAME/ { print $2 }' banco.cfg
+ DBNAME=BANCO
++ awk -F= '/^LOGDIR/ { print $2 }' banco.cfg
+ LOGDIR=/var/log/watchdog
+ grep -i database
+ grep '`date' -d yesterday '+%d%m%y`'
++ grep -i database
grep: unknown directories method
+++ date +%d%m%y
++ ls -lah /var/log/watchdog/DB_Backup_BANCO
++ grep 270412
++ LOGOLD=
+ LOGNEW=ls
+ -lah /var/log/watchdog/DB_Backup_ASSET
./backup_check.sh: line 11: -lah: command not found
++ ls -lah /db_local/backup/asset/FULL/
++ grep -i ASSET
++ awk '{print $NF}'
+ BKP=banco.0.db2inst1.NODE0000.CATN0000.20120426212536.001
./backup_check.sh: line 17: unexpected EOF while looking for matching `''
./backup_check.sh: line 82: syntax error: unexpected end of file
[[email protected] scripts]#




  


2. Re: script de verificação

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 27/04/2012 - 19:18h

BKP_NEW=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date +%Y%m%d\` | cut -c50-110'
BKP_OLD=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date -d yesterday +%y%m%d\` | cut -c50-110'


faltou o fechamento

BKP_NEW=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date +%Y%m%d\` | cut -c50-110`
BKP_OLD=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date -d yesterday +%y%m%d\` | cut -c50-110`



3. Re: script de verificação

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 27/04/2012 - 22:32h

Adicionando [ code ] e fechando [ / code ]



#!/bin/bash
. /home/db2inst1/sqllib/db2profile

CFG_FILE="banco.cfg"

DESTINATION=`awk -F"=" '/^DESTINATION/ { print $2 }' $CFG_FILE`

QTD_DDL=`awk -F"=" '/^QTD_DDL/ { print $2 }' $CFG_FILE`

INTEGRITY_COPY=`awk -F"=" '/^INTEGRITY_COPY/ { print $2 }' $CFG_FILE`

DBNAME=`awk -F"=" '/^DBNAME/ { print $2 }' $CFG_FILE`

LOGDIR=`awk -F"=" '/^LOGDIR/ { print $2 }' $CFG_FILE`

LOGNEW=`ls -lah /var/log/watchdog/DB_Backup_"$DBNAME" | grep -i database | grep \`date +%d%m%y\`

LOGOLD=`ls -lah /var/log/watchdog/DB_Backup_"$DBNAME" | grep -i database | grep \`date -d yesterday +%d%m%y\`

BKP=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | awk '{print $NF}'`

BKP_NEW=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date +%Y%m%d\` | cut -c50-110`

BKP_OLD=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date -d yesterday +%y%m%d\` | cut -c50-110`

LOG="/var/log/watchdog/DB_Backup_$DBNAME"

PATH_COPY=`awk -F"=" '/^PATH_COPY/ { print $2 }' $CFG_FILE`

QTD_FULL=`awk -F"=" '/^QTD_FULL/ { print $2 }' $CFG_FILE`

#VERIFICA SE DIRETORIO DE LOG EXISTE
echo "Checando existencia de diretorio de log......"
echo""
sleep 5

if [ ! -f "$LOGDIR" ] ; then

#echo "diretorio $LOGDIR nao existe"
#else
echo "1"
exit 1
echo "O diretorio $LOGDIR Existe" #Nunca vai passar por aqui. rsrs
fi

echo ""

#CHECA SE LOG EXISTE

echo "Checando existencia de logs......."
echo ""
sleep 5

if [ ! -f $LOG/$LOGNEW ] && [ ! -f $LOG/$LOGOLD ]; then

#echo "Exibindo arquivo de log atual: $LOGNEW"
else
echo "Arquivo de log nao encontrado"
echo "2"

exit 2
fi


echo ""
#CHECA DIRETORIO DO BACKUP EXISTE
echo "Checando existencia do diretorio de Backup $PATH_COPY........"
echo ""
sleep 5

if [ ! -f $PATH_COPY ] ; then
#echo "Diretorio de backup $PATH_COPY Existe"
#else
echo "Diretorio de backup $PATH_COPY Nao Existe"
echo "3"

exit 3
fi

#CHECHA SE EXISTE BACKUP
echo "Checando Quantidade de backup FULL.......: $QTD_FULL "
echo ""
echo "Listando arquivos..................."
sleep 5
echo ""
echo "$BKP"
echo "Buscando Ultimo backup........"
echo ""
sleep 5

if [ ! -f "$BKP_NEW" ] && [ ! -f "$PATH_COPY/$BKP_NEW" ] ; then

#echo "Exibindo Backup mais atual e Backup de ontem: $BKP_NEW" | echo "Backup de ontem: $BKP_OLD"
#else
echo "Nao foi encontrado nehum backup"
echo "4"

exit 4
fi



ai eu rodo ele e da um erro, estou rodando com bash -x


segue saida:

++ export LD_LIBRARY_PATH
++ '[' -f /home/db2inst1/sqllib/userprofile ']'
++ . /home/db2inst1/sqllib/userprofile
+ CFG_FILE=banco.cfg
++ awk -F= '/^DESTINATION/ { print $2 }' banco.cfg
+ DESTINATION=/db_local/backup/asset
++ awk -F= '/^QTD_DDL/ { print $2 }' banco.cfg
+ QTD_DDL=14
++ awk -F= '/^INTEGRITY_COPY/ { print $2 }' banco.cfg
+ INTEGRITY_COPY=Y
++ awk -F= '/^DBNAME/ { print $2 }' banco.cfg
+ DBNAME=BANCO
++ awk -F= '/^LOGDIR/ { print $2 }' banco.cfg
+ LOGDIR=/var/log/watchdog
+ grep -i database
+ grep '`date' -d yesterday '+%d%m%y`'
++ grep -i database
grep: unknown directories method
+++ date +%d%m%y
++ ls -lah /var/log/watchdog/DB_Backup_BANCO
++ grep 270412
++ LOGOLD=
+ LOGNEW=ls
+ -lah /var/log/watchdog/DB_Backup_ASSET
./backup_check.sh: line 11: -lah: command not found
++ ls -lah /db_local/backup/asset/FULL/
++ grep -i ASSET
++ awk '{print $NF}'
+ BKP=banco.0.db2inst1.NODE0000.CATN0000.20120426212536.001
./backup_check.sh: line 17: unexpected EOF while looking for matching `''
./backup_check.sh: line 82: syntax error: unexpected end of file
[[email protected] scripts]#







4. Re: script de verificação

andre
negu

(usa Outra)

Enviado em 28/04/2012 - 02:32h

oq esse script faz é testar os erros, caso não exista alguns desses diretórios ou arquivos, ela gera o retuncode 1, 2,3 ou 4

enquanto estiver certo ele não faz nada, ou seja, só vou ter alarme quando ocorrer erro


5. Re: script de verificação

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 28/04/2012 - 09:19h

negu escreveu:

oq esse script faz é testar os erros, caso não exista alguns desses diretórios ou arquivos, ela gera o retuncode 1, 2,3 ou 4

enquanto estiver certo ele não faz nada, ou seja, só vou ter alarme quando ocorrer erro

ok ;)





6. Re: script de verificação

andre
negu

(usa Outra)

Enviado em 28/04/2012 - 14:05h

agora esta dando isso:

[[email protected] scripts]# ./backup_check.sh
grep: unknown directories method
./backup_check.sh: line 18: -lah: command not found

e a linha 18, é a linha da variavel, ja revisei ela trocentas vezes!!!!!!!!!!!!!!1

1 #!/bin/bash
2 . /home/db2inst1/sqllib/db2profile
3
4 CFG_FILE="banco.cfg"
5
6 DESTINATION=`awk -F"=" '/^DESTINATION/ { print $2 }' $CFG_FILE`
7
8 QTD_DDL=`awk -F"=" '/^QTD_DDL/ { print $2 }' $CFG_FILE`
9
10 INTEGRITY_COPY=`awk -F"=" '/^INTEGRITY_COPY/ { print $2 }' $CFG_FILE`
11
12 DBNAME=`awk -F"=" '/^DBNAME/ { print $2 }' $CFG_FILE`
13
14 LOGDIR=`awk -F"=" '/^LOGDIR/ { print $2 }' $CFG_FILE`
15
16 LOGNEW=`ls -lah /var/log/watchdog/DB_Backup_"$DBNAME" | grep -i database | grep \`date +%d%m%y\`
17
18 LOGOLD=`ls -lah /var/log/watchdog/DB_Backup_"$DBNAME" | grep -i database | grep \`date -d yesterday +%d%m%y\`
19
20 BKP=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | awk '{print $NF}'`
21
22 BKP_NEW=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date +%Y%m%d\` | cut -c50-110`
23
24 BKP_OLD=`ls -lah $DESTINATION/FULL/ | grep -i "$DBNAME" | grep \`date -d yesterday +%y%m%d\` | cut -c50-110`
25
26 LOG="/var/log/watchdog/DB_Backup_$DBNAME"
27
28 PATH_COPY=`awk -F"=" '/^PATH_COPY/ { print $2 }' $CFG_FILE`
29
30 QTD_FULL=`awk -F"=" '/^QTD_FULL/ { print $2 }' $CFG_FILE`




7. Re: script de verificação

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 30/04/2012 - 08:19h

Linhas 16 e 18 tb faltam o fechamento "`" pois o que vc tem nelas esta "escapado" |` logo não tem par lá com o do início da linha.

16 LOGNEW=`ls -lah /var/log/watchdog/DB_Backup_"$DBNAME" | grep -i database | grep \`date +%d%m%y\``
17
18 LOGOLD=`ls -lah /var/log/watchdog/DB_Backup_"$DBNAME" | grep -i database | grep \`date -d yesterday +%d%m%y\``


8. Re: script de verificação

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 02/05/2012 - 09:33h

Ficou resolvido ?



9. Re: script de verificação

andre
negu

(usa Outra)

Enviado em 02/05/2012 - 11:38h

desculpa a demora na resposta, essa questão ficou sim, agora to vendo outra coisa.

Porque mesmo o diretório existindo ele tras o returncode 1(exit 1).......


10. Re: script de verificação

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 02/05/2012 - 18:02h

if [ ! -d "$LOGDIR" ] ; then
echo "diretorio $LOGDIR nao existe"
echo "1"
exit 1
else
echo "O diretorio $LOGDIR Existe"
fi