Este script faz essa varredura em dois servidores e o arquivo fica no server1 e para fazer a verificação no server2 ele tem que acessar via ssh. Para isso tem que ter configurado o ssh automático, como mostrei em ssh sem precisar digitar a senha
#!/bin/bash
#CRIA O ARQUIVO DE LOG
touch /root/erro.log
#VETOR QUE INDICA E EFETUA A VERIFICACAO NAS PASTAS INFORMADAS
aDirServer1=(diretorio1 diretorio2 diretorio3 diretorio4)
echo "##################" >> /root/erro.log
echo "### SERVER1 ###" >> /root/erro.log
echo "##################" >> /root/erro.log
for sDir1 in ${aDirServer1[*]}; do
#CONSULTA E VERIFICA SE EXISTE ALGUM ARQUIVO COM NOME TST
ls -l /caminho-do-diretório-que -está-as-pastas/$sDir1/*tst* >> /root/erro.log
if [ $? != 0 ]; then
echo "$sDir1 OK" >> /root/erro.log
else
#SE EXISTE TST O MESMO EH DELETADO
find /caminho-do-diretório-que -está-as-pastas/$sDir1/*tst* -exec rm -f {} \;
echo "Removido TST $sDir1" >> /root/erro.log
fi
done
echo "" >> /root/erro.log
#VETOR QUE INDICA E EFETUA A VERIFICACAO NAS PASTAS INFORMADAS
aDirServer2=(diretorio1 diretorio2 diretorio3 diretorio4)
echo "##################" >> /root/erro.log
echo "### Server2 ###" >> /root/erro.log
echo "##################" >> /root/erro.log
for sDir2 in ${aDirServer2[*]}; do
#CONSULTA E VERIFICA SE EXISTE ALGUM ARQUIVO COM NOME TST
ssh ip_server2 "ls -l /caminho-do-diretório-que -está-as-pastas/$sDir2/*tst*" >> /root/erro.log
if [ $? != 0 ]; then
echo "$sDir2 OK" >> /root/erro.log
else
#SE EXISTE TST O MESMO EH DELETADO
ssh ip_server2 "find /caminho-do-diretório-que -está-as-pastas/$sDir2/*tst* -exec rm -f {} \;"
echo "Removido TST $sDir2" >> /root/erro.log
fi
done
#VERIFICA SE EXISTE A PALAVRA "TST" DENTRO DO ARQUIVO.
cat /root/erro.log |grep tst
#SE EXISTIR "TST" NO ARQUIVO O MESMO EH ENVIADO POR EMAIL. SE NAO EXISTIR O SCRIPT EH FINALIZADO.
if [ $? != 0 ]; then
echo "Nao tem TST" >> /root/erro.log
else
#ENVIA EMAIL COM LOG
mail -s "assunto-do-email de `date +%d/%m/%Y`" digitar-email-que-vai-receber-o-log < /root/erro.log
fi
#DELETA O ARQUIVO DE LOG
rm -f /root/erro.log
Informações complementares:
- Para informações sobre vetores em: http://www.vivaolinux.com.br/artigo/Trabalhar-com-array-no-Bash?pagina=1
- Para informações sobre for, if entre outros comandos de condição existe muitos tutoriais na internet, só pesquisar no google.
Nenhum comentário:
Postar um comentário