segunda-feira, 2 de dezembro de 2013

Enviar relatório do BIA através do E-mail automaticamente, utilizando um servidor Linux + Windows.




Olá neste artigo iremos fazer uma configuração no Linux - Debian, para que envie e-mail automaticamente recuperando um arquivo no Servidor Windows, (neste caso um Relatório gerado pelo BIA) conforme agendamento na CRONTAB.

Primeiramente deve-se logar no Linux, para estes passos básicos não entrarei em detalhes.


Criando o diretório onde ficará os arquivos de script e pdf que será disparado via e-mail.


Criando o arquivo boletim_bia_blog, utilizando o VIM.


Abaixo o script que deverá ser colado dentro do arquivo, boletim_bia_blog. Não entrarei em detalhes sobre o script mais basicamente ele localiza o arquivo BOLAGRIC.pdf através de um compartilhamento do domínio AD.


#!/bin/bash

cd /home/unialco/scripts/unialco/boletim_bia_blog
source config


SMBCLIENTCMD="smbget"

echo "${SMBCLIENTCMD} -u ${SMBUSER} -p ${SMBPASS} smb:${SMBSERVER}/${SMBSHARE}/BOLAGRIC.pdf"
MNTCMD="${SMBCLIENTCMD} -u ${SMBUSER} -p ${SMBPASS} smb:${SMBSERVER}/${SMBSHARE}/BOLAGRIC.pdf"


###### CONFIG BACKUP 0 ########
UNIQ_FILE_0=`date +%Y%m%d%H%M%S`
BKPFILE_0="BOLAGRIC.pdf"
LOGFILE_0="log_$UNIQ_FILE_0.txt"
###### FIM  CONFIG BACKUP 0 ########


###### BACKUP 0 ########

if [ ${ATIVO_0} = Y ]; then

  > ${LOGFILE_0};
  rm -f ${BKPFILE_0}
  ${MNTCMD} 1> ${LOGFILE_0} 2>> ${LOGFILE_0};
  if [ $? = 0 ]; then
     echo "Sucesso ao receber o arquivo ${BKPFILE_0} ---- [OK]";
     echo "Sucesso ao receber o arquivo ${BKPFILE_0} ---- [OK]" >> ${LOGFILE_0};
  else
     echo "Erro ao receber o arquivo ${BKPFILE_0} ---- [FALHOU]";
     echo "Erro ao receber o arquivo ${BKPFILE_0} ---- [FALHOU]" >> ${LOGFILE_0};
     echo "Segue anexo log do processo" | /usr/bin/mutt -a ${LOGFILE_0} -s "Log BOLETIM ${LOGFILE_0}" \
                               -c ${CCLOG} -- ${MAILRCPLOG}
    echo "ERRO"
    rm -rf ${LOGFILE_0}
    exit 1
  fi


  echo ####### FIM DO PROCESSO ######### 1>> ${LOGFILE_0};
  echo "Segue anexo log do processo" | /usr/bin/mutt -a ${LOGFILE_0} -s "Log BOLETIM ${LOGFILE_0}" \
                                 -c ${CCLOG} -- ${MAILRCPLOG}

  echo "$MSG_0" | /usr/bin/mutt -a $BKPFILE_0 $BKPFILE_1 $BKPFILE_2 -s "$ASSUNTO_0"  -c $CC_0 -- ${MAILRCPTGZ}

  rm -rf ${LOGFILE_0}
  echo PASSOU
else
  echo ""
fi


exit 0

Visualização do Script acima no Linux.


Agora iremos criar o arquivo config utilizando também o VIM.


Também não entrarei em Detalhes, porém basicamente ele vai localizar na variável SMBSHARE o caminho do diretório servidor windows onde será salvo o Boletim do BIA logo mais abaixo a CC_0 será os e-mails que receberão a informação. 

#!/bin/bash

#VARIAVEIS
#EMAIL PARA QUEM VAI O LOG (apenas 1 pessoa)
DATA_PRD=`date +%d/%m/%Y -d "1 days ago"`
MAILRCPLOG="fernandoverga@unialco.com.br"
CCLOG="fernandoverga@unialco.com.br"

#EMAIL PRINCIPAL (apenas 1 pessoa)
MAILRCPTGZ="fernandoverga@unialco.com.br"

#######NAO MUDAR ESSES VALORES############
SMBSERVER=//192.168.X.YY
SMBSHARE="pimscs/wrk/bia/blog"
SMBUSER="NomeDominio/UsuarioDominio"
SMBPASS="SenhaDominio"
#########################################

###### CONFIG BACKUP 0 pimscs/wrk/bia ########
## Nova config por fhverga em 08/10/2012
#USAR Y ou N (maiusculo)
ATIVO_0=Y
#DESTINATARIOS QUE RECEBERAO A COPIA DO BACKUP_0 "pimscs/wrk/bia/blog"
CC_0="fernandoverga@unialco.com.br,fernandoverga@gmail.com"
MSG_0="**Essa e uma mensagem automatica, favor nao responder**

Segue anexo Boletim Agricola correspondente as informacoes do BLOG .

Data de producao $DATA_PRD

Obs, caso as informacoes contidas no boletim nao estejam atualizadas, solicitamos que mandem um e-mail para fernandoverga@unialco.com.br para que seja analisado o problema.

Tecnologia da Informacao"
ASSUNTO_0="Blog - Boletim Agricola - $DATA_PRD "
###### FIM  CONFIG BACKUP 0 ########

Visualização do Script acima no Linux.


Neste passo será dado permissão de execução para o arquivo boletim_bia_blog.

para isso basta digitar,

#chmod +x boletim_bia_blog


Agora iniciaremos um passo a passo que não tem muito a haver com o Linux e sim o conteúdo que o Linux enviará, que será o relatório gerado pelo BIA. Lembrando que isso pode ser feito para qualquer outro arquivo que queira enviar através do e-mail só dependendo ajustar para a necessidade e cenário que se encaixa.

Neste post abaixo explica-se como cria um relatório no BIA.






Comentarei este passo, pois o relatório deve ser salvo no diretório que definimos lá no linux. SMBSHARE 


Apenas para constar, a imagem abaixo é uma visualização do arquivo salvo lá do BIA.



Agora temos 2 opções ou executar o boletim_bia_blog utilizando ./ ou coloca-lo na crontab.

No Exemplo, abaixo utilizamos a opção ./boletim_bia_blog e veja que o ao executar o comando ele vai lá no servidor windows, copiar o arquivo BOLAGRIC.pdf para o Servidor Linux anexa e envia através do e-mail definido aos destinatários.


Como pode ver quase que instantâneo já é recebido o e-mail para os destinatários. 


Abaixo, a visualização do anexo através do gmail.


Agora para adicionar na CRONTAB basta edita-la e acrescentar a linha abaixo.

Com isso será enviado diariamente as 09h30, e claro que o arquivo tem que ser salvo no diretório do windows antes deste horário para que o Linux possa realizar a cópia e enviar através do e-mail.

#crontab -e

30 09 * * * /home/unialco/scripts/unialco/boletim_bia_blog/


Espero que tenha ficado claro este passo a passo e caso ficou alguma duvida pode deixar seu comentário ou entrar em contato para esclarecer.





Nenhum comentário:

Postar um comentário