Estou executando o CentOS 5.5.
Temos vários cronjobs armazenados em /etc/cron.daily/. Gostaríamos que o email de alguns desses cronjobs fosse para um endereço de email específico, enquanto o restante dos emails em /etc/cron.daily/ deveria ir para o endereço de email padrão (root @ localhost).
Cronjobs em /etc/cron.daily/ são executados no arquivo / etc / crontab. / etc / crontab especifica um campo 'MAILTO'. Posso substituir isso definindo MAILTO no meu /etc/cron.daily/foo cronjob?
Qual é a melhor maneira de lidar com isso?
/etc/crontab
não especifica padrões.Respostas:
Definir
[email protected]
em/etc/cron.daily/foo
não funciona. A saída do script não é enviada para [email protected].A página em http://www.unixgeeks.org/security/newbie/unix/cron-1.html também sugere uma solução simples:
O arquivo
/etc/cron.daily/foo
agora contém o seguinte:Isso enviará um e-mail para '[email protected]' com o assunto igual ao caminho completo do script (por exemplo
/etc/cron.daily/foo
).Aqui está o que o Unixgeeks.org diz sobre isso:
Às vezes, eu só quero receber os erros de um cronjob, não do stdout, então eu uso esse truque. A sintaxe pode parecer errada à primeira vista, mas tenha certeza de que funciona. O cronograma a seguir enviará STDOUT para / dev / null e, em seguida, manipulará STDERR por meio do pipeline.
A mesma coisa, mas envie para o syslog:
Veja também minha resposta no ServerFault para Cronjob stderr para arquivo e e-mail
fonte
Uma solução mais elegante seria usar
/etc/cron.d
diretamente. Em vez de ter seu script/etc/cron.daily
, coloque-o em algum lugar como/usr/local/sbin/myscript.sh
e, em seguida, crie o arquivo/etc/cron.d/myscript
como:Isso também oferece muito mais controle sobre quando o trabalho acontece; por exemplo, apenas em determinados dias da semana etc. Consulte o
crontab(5)
homem para obter mais informações.fonte
Supondo que você tenha acesso ao SA nesta máquina, você pode criar uma nova conta de usuário, adicionar as tarefas a essas tarefas tarefas cron. O e-mail desse usuário pode ser encaminhado usando um arquivo .forward nessa pasta inicial de contas. Pode ser necessário configurar permissões para esse usuário se as tarefas cron exigirem acesso privilegiado.
Se essa ou a resposta de Stefan melhor se adequa realmente depende de quanto aborrecimento você deseja configurá-la e se deseja que as mensagens de erro sejam enviadas para o email raiz ou para as pessoas que normalmente monitoram a produção diária.
Boa sorte
fonte