CentOS 6.5 - Enviar e-mail via Cron [RESOLVIDO]

1. CentOS 6.5 - Enviar e-mail via Cron [RESOLVIDO]

Bacamarte
BacamarteLinux

(usa CentOS)

Enviado em 17/02/2014 - 20:03h

Estou utilizando o CentOS 6.5 e gostaria que o cron me enviasse e-mails com o resultado das tarefas executadas.

O postrix está instalado e funcionando corretamente, testado com a linha abaixo
echo "Conteudo" | mutt -s "Teste de envio pelo shell" root

O /etc/crontab está assim:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

00 01 * * * postgres /usr/tasks/task_pg_bkp_mnt


O back-up do banco é feito normalmente, porém, o e-mail não chega.
obs:
Os e-mails enviados pelo Fail2Ban ao root chegam sem problemas.
No CentOS 5.8 esse formato funciona.


Alguma sugestão?!
Valeu!!


  


2. MELHOR RESPOSTA

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 17/02/2014 - 21:38h

Assim também acho que funciona:

#!/bin/bash
echo "`date` - Iniciando processo de backup..."
d=$(date +%Y%m%d%H%M%S)
pg_dump -U postgres -Fc -vbOx -f /mnt/sdb/pg/schema_1_$d.backup --schema=schema_1 banco 2>&1 | mail -s "Processo de backup finalizado em `date`" "alguem@algo.com.br"


00 01 * * * postgres /usr/tasks/task_pg_bkp_mnt 2>&1 | mail -s "Processo de backup finalizado em `date`" "alguem@algo.com.br"

3. Re: CentOS 6.5 - Enviar e-mail via Cron [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/02/2014 - 20:19h

Posta o conteúdo do script aqui amigo...


4. Re: CentOS 6.5 - Enviar e-mail via Cron [RESOLVIDO]

Bacamarte
BacamarteLinux

(usa CentOS)

Enviado em 17/02/2014 - 20:26h

eabreu escreveu:

Posta o conteúdo do script aqui amigo...


Olá!
Aqui vai:

#!/bin/bash
echo "`date` - Iniciando processo de back-up..."
d=$(date +%Y%m%d%H%M%S)
pg_dump -U postgres -Fc -vbOx -f /mnt/sdb/pg/schema_1_$d.backup --schema=schema_1 banco
echo "`date` - Processo de back-up finalizado."



5. Re: CentOS 6.5 - Enviar e-mail via Cron [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 17/02/2014 - 21:29h

Mas o cron só vai enviar email se falhar a tarefa ou ocorrer algum erro durante, se quiser adicione a linha usa para o envio no final do script Ex:



#!/bin/bash
echo "`date` - Iniciando processo de back-up..."
d=$(date +%Y%m%d%H%M%S)
pg_dump -U postgres -Fc -vbOx -f /mnt/sdb/pg/schema_1_$d.backup --schema=schema_1 banco
echo "`date` - Processo de back-up finalizado."

mail -s "Backup Finalizado" "alguem@algo.com.br" <<EOF
Backup finalizado em `date`
EOF



6. Re: CentOS 6.5 - Enviar e-mail via Cron [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 17/02/2014 - 21:35h

andrecanhadas escreveu:

Mas o cron só vai enviar email se falhar a tarefa ou ocorrer algum erro durante, se quiser adicione a linha usa para o envio no final do script Ex:



#!/bin/bash
echo "`date` - Iniciando processo de back-up..."
d=$(date +%Y%m%d%H%M%S)
pg_dump -U postgres -Fc -vbOx -f /mnt/sdb/pg/schema_1_$d.backup --schema=schema_1 banco
echo "`date` - Processo de back-up finalizado."

mail -s "Backup Finalizado" "alguem@algo.com.br" <<EOF
Backup finalizado em `date`
EOF


Ou ainda mais simples:

#!/bin/bash
echo "`date` - Iniciando processo de backup..."
d=$(date +%Y%m%d%H%M%S)
pg_dump -U postgres -Fc -vbOx -f /mnt/sdb/pg/schema_1_$d.backup --schema=schema_1 banco
echo "Backup finalizado em : `date`" | mail -s "Processo de backup finalizado." "alguem@algo.com.br"





7. Re: CentOS 6.5 - Enviar e-mail via Cron [RESOLVIDO]

Bacamarte
BacamarteLinux

(usa CentOS)

Enviado em 18/02/2014 - 10:24h

andrecanhadas escreveu:

Assim também acho que funciona:

#!/bin/bash
echo "`date` - Iniciando processo de backup..."
d=$(date +%Y%m%d%H%M%S)
pg_dump -U postgres -Fc -vbOx -f /mnt/sdb/pg/schema_1_$d.backup --schema=schema_1 banco 2>&1 | mail -s "Processo de backup finalizado em `date`" "alguem@algo.com.br"


00 01 * * * postgres /usr/tasks/task_pg_bkp_mnt 2>&1 | mail -s "Processo de backup finalizado em `date`" "alguem@algo.com.br"




Valeu irmão!! Certinho utilizando dessa forma:
00 01 * * * postgres /usr/tasks/task_pg_bkp_mnt 2>&1 | mail -s "Processo de backup finalizado em `date`" "alguem@algo.com.br"

Abraço


8. Re: CentOS 6.5 - Enviar e-mail via Cron [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/02/2014 - 19:15h

BOa andrecanhadas... só faltava mesmo enviar a saída do comando que gera o backup para o e-mail no script.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts