Erro ao executar script pelo crontab que envia email com log de backup.

1. Erro ao executar script pelo crontab que envia email com log de backup.

jean carlo maestrelli
JeanMaestrelli

(usa CentOS)

Enviado em 13/03/2015 - 02:12h

Olá pessoal to com o seguinte problema.

Eu tenho um script que pega o backup compactado no servidor de arquivos da minha rede, e copia para um servidor na locaweb via rsync, ao final gera um arquivo de log e envia por email.

Se eu executo manualmente, ele funciona que é uma beleza, copia o backup pra nuvem e envia o email com o log pra min certinho, porém pelo crontab ele faz a copia para a nuvem mas não envia o email.

Por favor mestres me ajudem!!!

ai vai o script:


#!/bin/bash
log=/tmp/`date +%d%m%Y`.txt
dest_log=/tmp/
declare -a arquivos


echo "

######################################################################
# Script de Backup
######################################################################" >> $log

echo "______________________________________________________________________" >> $log
echo "INICIO" >> $log
echo "______________________________________________________________________" >> $log
echo "DIA" `date +%d/%m/%Y` >> $log
echo "HORA" `date +%H:%M:%S` >> $log
echo "______________________________________________________________________" >> $log

# DIRETORIO DOS BACKUPS
######################## INICIO
diretorio=/mnt/backup/
arquivos=(`ls -tr $diretorio`)
x=0;
while [ $x != ${#arquivos[@]} ]
do
let "x = x +1"
done
let "x = x -1"
echo "NOME DO BACKUP: "`ls -lah $diretorio${arquivos[$x]}` >> $log
echo " " >> $log
echo "STATUS DE ENVIO: "`rsync -v $diretorio${arquivos[$x]} attraktivaprime@attraktivaprime.com.br:/home/storage/b/2e/d1/attraktivaprime/public_html/backup` >> $log
y=0;
p=1;
echo " " >> $log
echo "______________________________________________________________________" >> $log
######################## FIM

df -h >> $log
echo "______________________________________________________________________" >> $log
echo "FIM" >> $log
echo "______________________________________________________________________" >> $log

# Apagando log mais antigo
TIME_DEL=+30
procuraedestroidif(){
find $dest_log -name "*.txt" -mtime $TIME_DEL -exec rm -f {} ";"
if [ $? -eq 0 ] ; then
echo "Log de backup mais antigo eliminado com sucesso!" >> $log
else
echo "Erro durante a busca e destruição do log de backup antigo!" >> $log
fi
}
procuraedestroidif

TIME_DEL=+7
procuraedestroibkp(){
find $diretorio -name "*.zip" -mtime $TIME_DEL -exec rm -f {} ";"
if [ $? -eq 0 ] ; then
echo "Backups com mais de 7 dias eliminado com sucesso!" >> $log
else
echo "Erro durante a busca e destruição do log de backup antigo!" >> $log
fi
}
procuraedestroibkp

echo "######################################################################" >> $log

# Envia Email
EMAIL_DE="ti@attraktiva.com.br"
EMAIL_PARA="ti@attraktiva.com.br"
SERVIDOR_SMTP="smtp.attraktiva.com.br:587"
SENHA='**************'
ASSUNTO="RELATORIO DE BACKUPS DO SQL `date +%d/%m/%Y`"
MENSAGEM="message-file=$log"
ANEXO=""
sendEmail -f $EMAIL_DE -t $EMAIL_PARA -u "$ASSUNTO" -o "$MENSAGEM" -a $ANEXO -s $SERVIDOR_SMTP -xu $EMAIL_DE -xp $SENHA

exit 0




  


2. Re: Erro ao executar script pelo crontab que envia email com log de backup.

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 13/03/2015 - 16:01h

Cara, é um chute, mas tenta colocar o caminho completo do sendmail, pois pode ser o path do usuario da crontab.

o Rsync em geral fica na /usr/bin já o sendmail deve estar em algo tipo /usr/sbin e pode ser que uma lib estaja no path e a outra não ...

só um chute mesmo ... tentar tipo /usr/sbin/sendmail ...

do mais meu conselho é colocar uns pontos de log para debug.



3. Re: Erro ao executar script pelo crontab que envia email com log de backup.

jean carlo maestrelli
jeanmaestrelli

(usa CentOS)

Enviado em 13/03/2015 - 18:11h

fdmarp escreveu:

Cara, é um chute, mas tenta colocar o caminho completo do sendmail, pois pode ser o path do usuario da crontab.

o Rsync em geral fica na /usr/bin já o sendmail deve estar em algo tipo /usr/sbin e pode ser que uma lib estaja no path e a outra não ...

só um chute mesmo ... tentar tipo /usr/sbin/sendmail ...

do mais meu conselho é colocar uns pontos de log para debug.


Cara obrigado era isso msm, passei o /usr/local/bin/sendEmail e funcionou.

valeuuuu!!!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts