Como enviar um e-mail depois de um trabalho cron [duplicado]

6

Eu adicionei uma tarefa cron para meu backup incremental e a configurei da seguinte forma:

0 23 * * * /usr/bin/rsync -ravzX /mnt/external/project/ /media/backup/project/ | mail -s "Backup Success" [email protected]

Mas eu não recebi nenhum e-mail.
Como posso descobrir o que há de errado?

    
por Booth 11.05.2015 / 08:40

3 respostas

17

Você pode usar a opção MAILTO no crontab para definir seu endereço de e-mail e receber todas as saídas e erros em todas as versões executadas.

aberto crontab usando

crontab -e

na parte superior do arquivo, use a opção MAILTO como

[email protected]

O cron procura pelo recurso MAILTO para decidir onde deve enviar logs do cron. o send é para root por padrão se os crons estiverem rodando com root.

coloque-o na parte superior e remova qualquer referência de comando de correio dos crons.

Teste e verifique se você recebe alertas do cron depois disso.

    
por 11.05.2015 / 09:45
1

O problema neste caso foi que a mensagem foi entregue à pasta de spam no Gmail (o que vale sempre a pena verificar). Adicionar remetente como contato deve evitar isso.

Além disso, observar os cabeçalhos completos da mensagem recebida pode fornecer pistas sobre o motivo pelo qual ela foi sinalizada como spam (e, portanto, como influenciar a filtragem para não fazer isso).

    
por 11.05.2015 / 15:06
0

No FreeBSD

1: verificar log:

tail -f /var/log/cron
tail -f /var/log/maillog

2: Substitua o sendmail por ssmtp vi /etc/rc.conf file .. e adicione:

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

3: inicie os seguintes comandos:

killall sendmail
cd /usr/ports/mail/ssmtp/
make install replace clean

4: edite o arquivo ssmtp conf:

vi /usr/local/etc/ssmtp/ssmtp.conf

.... e adicione as seguintes linhas:

[email protected]
mailhub=smtp.example.com:465
RewriteDomain=example.org
UseTLS=YES
[email protected]
AuthPass=password222
FromLineOverride=YES
Hostname=yourhostname

5: digite o seguinte comando:

echo ‘ssmtp_enable=“YES”’ >> /etc/rc.conf

p.s. outras opções explicadas de ssmtp.conf estão aqui:

link

    
por 11.05.2015 / 09:11