Eu configurei o cronjob para o usuário root. No entanto, quando o cron falha, eu deveria receber um email do cronjob porque configurei o MAILTO desta forma em / etc / crontab:
[email protected]
Eu instalei o mailx usando
yum install mailx
Mas quando olho para o cron log, recebo estas linhas:
Feb 23 14:13:01 internal crond[6858]: (root) CMD (/var/www/vded/build/bin/sync.sh)
Feb 23 14:13:01 internal crond[6857]: (root) MAIL (mailed 79 bytes of output but got status 0x0001 )
Como posso consertar isso?
ATUALIZAÇÃO:
- Eu instalei o mailx e o sendmail usando o yum.
- Comecei o sendmail.
- Então agora o envio de um email está funcionando na linha de comando!
Eu recebo este erro no maillog:
Feb 23 16:06:01 internal sendmail[7210]: o1NG61cd007210: from=root, size=425, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Feb 23 16:06:01 internal sendmail[7211]: o1NG61hT007211: from=<[email protected]>, size=732, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Feb 23 16:06:01 internal sendmail[7210]: o1NG61cd007210: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30425, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (o1NG61hT007211 Message accepted for delivery)
Feb 23 16:06:01 internal sendmail[7212]: o1NG61hT007211: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30972, dsn=2.0.0, stat=Sent
internal.fff.com é o nome do servidor.
ATUALIZAÇÃO:
Então, de fato, se eu colocar a [email protected]
primeira linha do meu crontab (usando crontab -e
), ele está funcionando.
Por que não está funcionando definindo o MAILTO
in /etc/crontab
?
obrigado
Respostas:
Então, para responder à minha pergunta:
yum install mailx
yum install sendmail
MAILTO
linha no crontab usandocrontab -e
:[email protected]
e não em/etc/crontab
fonte
/etc/crontab
não especifica padrões. unix.stackexchange.com/questions/3724/…você pode simplificar isso instalando o nullmailer em vez do sendmail (ou exim4, ou postfix, etc.).
se não estiver funcionando, como o meu não estava, e você estiver enviando para um serviço de webmail como o gmail: verifique se não colocou nenhum filtro nele. Na verdade, eu tinha um filtro em qualquer coisa do cron, para ignorar a caixa de entrada. é por isso que eu não estava vendo nada dos meus trabalhos cron.
fonte
Meu
/var/log/maillog
estava mostrando quecrontab
(comMAILTO=root
) estava tentando enviar e-mail para ambosroot
eroot@my_fqdn
(ondemy_fqdn
é como server.something.com). Pelo log, o envio pararoot
foi bem-sucedido eroot@my_fqdn
falhou, mas não encontrei nenhuma mensagem/var/mail/root
. Aqui está o/var/log/maillog
snippet relevante :No entanto, por esta dica , o correio agora é exibido em
/var/mail/root
. O problema era/etc/hosts
necessário para adicionar uma linha, paramy_fqdn
resolver como um domínio (observe o ponto no final):127.0.0.1 my_fqdn.
Nota: A maneira como isso está funcionando agora é que a mensagem ainda está falhando ao ser recebida corretamente, mas está retornando de uma maneira que a aterra
/var/mail/root
(observestat=Local configuration error
abaixo no/var/log/maillog
snippet).fonte