Configurando o cron para enviar e-mail de output para o root (Debian)
Dica publicada em Linux / Configuração
Configurando o cron para enviar e-mail de output para o root (Debian)
Passei pelo problema de redirecionar o output do cron para o e-mail do root, pois tenho vários programas que rodam em back e preciso saber a saída desses programas, se está tudo ok ou não. Com o servidor Red Hat tudo funcionava corretamente, mas quando migrei para o Debian não queria funcionar. Abaixo está a solução para esse problema, que apesar de ser simples, custou bastante tempo até que pudesse identificar o motivo.
O motivo é simples, o postfix não permite que e-mails sejam enviados direto para o root. Siga a solução:
Edite o arquivo /etc/crontab e adicione (ou altere o cabeçalho) fazendo com que contenha a seguinte linha: MAILTO=root
Exemplo:
# vi /etc/crontab
Até aqui tudo bem, o problema é que o postfix no Debian, não sei como se comporta em outras distribuições, não aceita envio de e-mail para o root. Ele usa como padrão uma conta 'mail' para receber esse tipo de mensagem.
Então entre no diretório /var/spool/mail e crie um link simbólico com nome de root para o arquivo mail:
# ln -s mail root
Feito os passos acima você receberá os outputs do cron no e-mail do root ou se não for um servidor de e-mail, ao se logar como root basta digitar o comando mail.
O motivo é simples, o postfix não permite que e-mails sejam enviados direto para o root. Siga a solução:
Edite o arquivo /etc/crontab e adicione (ou altere o cabeçalho) fazendo com que contenha a seguinte linha: MAILTO=root
Exemplo:
# vi /etc/crontab
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
...
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
...
Até aqui tudo bem, o problema é que o postfix no Debian, não sei como se comporta em outras distribuições, não aceita envio de e-mail para o root. Ele usa como padrão uma conta 'mail' para receber esse tipo de mensagem.
Então entre no diretório /var/spool/mail e crie um link simbólico com nome de root para o arquivo mail:
# ln -s mail root
Feito os passos acima você receberá os outputs do cron no e-mail do root ou se não for um servidor de e-mail, ao se logar como root basta digitar o comando mail.