Posso alterar o destinatário de email padrão em tarefas agendadas?

12

Acredito que, se houver algum resultado de um cronjob, ele será enviado para o usuário ao qual o trabalho pertence. Eu acho que você também pode adicionar algo como [email protected] no topo do arquivo cron para mudar para onde a saída é enviada.

Posso definir uma opção para que as tarefas do cron em todo o sistema sejam enviadas por e-mail para root em vez de para o usuário que as executa? (ou seja, não tem que definir isso no arquivo cron de cada usuário)

    
por cwd 16.12.2011 / 15:33

2 respostas

9

Verifique o arquivo /etc/crontab e defina MAILTO=root nele. Pode também precisar de /etc/rc file

crond parece aceitar a variável MAILTO, acho que não tenho certeza, mas vale a pena tentar alterar a variável de ambiente do crond antes de ser iniciada. Como no script /etc/sysconfig/crond ou /etc/rc.d/init.d/crond que origina o arquivo anterior.

Exemplo:

[centos@centos scripts]$ strings /usr/sbin/crond | grep -i mail
ValidateMailRcpts
MailCmd
cron_default_mail_charset
usage:  %s [-n] [-p] [-m <mail command>] [-x [
CRON_VALIDATE_MAILRCPTS
mailed %d byte%s of output but got status 0x%04x
[%ld] no more grandchildren--mail written?
MAILTO
/usr/sbin/sendmail
mailcmd too long
[%ld] closing pipe to mail
MAIL
    
por 16.12.2011 / 16:14
7

Coloque MAILTO=root em /etc/default/cron . Este arquivo contém as configurações padrão do cron.

man 5 crontab diz,

If MAILTO is defined (and non-empty), mail is sent to the user so named.

Consulte: link

    
por 16.12.2011 / 16:10