
		EddyBin
		
		(usa CentOS)
		
		Enviado em 12/07/2015 - 14:55h 
		Claro, Vamos la .
O script é dividido em dois arquivos ( functions.sh e backup_diario.sh) 
No arquivo functions.sh, eu criei todas as funções que fazem funcionar o script, como 
gerar logs, conectar no mysql , e copiar os arquivos para o servidor remoto como rsync.
Já no arquivo backup_diario.sh, eu chamo o arquivo functions, e montei uma lógica que 
faz a verificação de alguns erros etc.
Segue abaixo:
functions.sh
#!/bin/bash
#================================================================
# funcoes.sh
#
# Funcoes auxiliares para rotina de backup
#===============================================================
DATA=`date +%Y-%m-%d -d '1 days ago'`
LOG=/var/log/recordsCLIENTE.log
# Funcao que gera os logs
function log() {
        MSG="[`date`] $@"
        echo $MSG >> $LOG
}
# Funcao que gera lista de comparacao 
function fn_connection_mysql() {
        log " Coletando Informações do Banco de Dados (Servidor XXX.XXX.XXX)...."
        mysql -u usuario -psenha banco -hXXX.XXX.XXX -e 'select
              concat(uniqueid, ".gsm") from `call` where username = "10477712" and 
               nasipaddress = "XXX.XXX.XXX" and terminatecause = "ANSWER" and 
                stoptime like "'$DATA'%";' | grep -v concat > /root/output_day_ago.txt
                if [[ $? -eq 0 ]]; then #
                return 0;
                fi
return 1;
}
function fn_sync_records () {
        rsync -Cavhh --files-from=/root/output_day_ago.txt /var/spool/asterisk/monitor/ -e "sudo ssh -p XXX" XXX.XXX.XXX:/mnt/gravacao/gravacao/
                if [[ $? -eq 0 ]]; then # 
                return 0;
                fi
return 1;
-------------------------------------------
backup_diario.sh:
#!/bin/bash
# Inicio do Script 
INICIO=`date +%d/%m/%Y-%H:%M:%S`
DATA=`date +%Y-%m-%d -d '1 days ago'`
#----------------
#CONFIGURACOES
#----------------
cd /scripts/backup_CLIENTE
source ./functions.sh
# Inicia o script
log " Sincronização iniciada em $INICIO...."
        if ( ! fn_connection_mysql); then
                log " ERRO: Por favor, leia o Manual do MYSQL...."
                else
                        log " Lista Gerada com Sucesso....."
sleep 5
                log "Iniciando Cópia das gravações para HD EXTERNO, servidor (XXX.XXX.XXX)...,"
                        if ( ! fn_sync_records); then
                                 log " ERRO: Não foi possível conectar no servidor, ou o comando rsync esta incorreto...."
                                 log " Gravações não Copiadas....."
                                else
sleep 3
                                        log " Gravações Copiadas com Sucesso...."
                        fi
        fi
FINAL=`date +%d/%m/%Y-%H:%M:%S`
log " Sincronização Finalizada em $FINAL...."
Bom, esse é meu script, ele esta funcionamento perfeitamente, como já mencionei aos senhores, a ultima 
coisa que eu precisava, era mandar um e-mail pro monitoramento com as informações geradas no log 
do dia. Ai então a necessidade de cortar as informações que já foram geradas anteriormente e enviar por 
e-mail apenas a ultima vez.
Novamente, desde já agradeço imensamente a ajuda de vocês.
Atenciosamente, 
Edir Bonametti