Por que meu cron job parece não fazer nada?

0

Eu escrevi um script para checar um serviço e enviar e-mail se encontrasse algum problema. Ele funciona bem na linha de comando. Eu me esforcei para fazer isso funcionar corretamente no cron.

Este é o meu crontab atual (editado):

[email protected]
BASH_ENV=$HOME/.bashrc
0,5,10,15,20,25,30,35,40,45,50,55 * * * *   . $HOME/.bashrc;$HOME/bin/monitorDataSourceStatus.groovy >> $HOME/mDSS.out 2>&1

Eu não acho que o cron do Ubuntu use a variável "BASH_ENV", mas eu vi isso mencionado em outras referências "cron", então eu pensei em testá-lo. O MAILTO também é provavelmente ignorado, pois não tenho um MTA instalado.

Eu sei que a operação básica do cron está ok, porque eu recebo uma entrada do syslog a cada cinco minutos, conforme especificado. A última é assim:

Oct  2 09:30:01 hostname CRON[20268]: (myid) CMD (. $HOME/.bashrc;$HOME/bin/monitorDataSourceStatus.groovy >> $HOME/mDSS.out 2>&1)
Oct  2 09:30:01 hostname CRON[20267]: (CRON) info (No MTA installed, discarding output)
Oct  2 09:30:10 hostname crontab[20275]: (myid) LIST (myid)

No entanto, posso dizer de efeitos colaterais esperados que não parece que o script está sendo executado. Eu habilitei algumas instruções de impressão no script, mas o arquivo "mDSS.out" não foi modificado por vários dias agora.

Não sei se é prático instalar um MTA. Eu suponho que é o Mail Transfer Agent.

    
por David M. Karr 02.10.2013 / 18:35

2 respostas

2

A mensagem MTA é porque seu script está produzindo uma saída para a qual o cron normalmente envia um e-mail.

Substitua seu trabalho do cron por:

[email protected]
BASH_ENV=$HOME/.bashrc
0,5,10,15,20,25,30,35,40,45,50,55 * * * *   . $HOME/.bashrc;$HOME/bin/monitorDataSourceStatus.groovy > $HOME/mDSS.out 2>&1

Você precisará instalar um MTA como sendmail para receber mensagens do cron. (Eu mudei o > > para um >).

    
por Nathan C 02.10.2013 / 18:42
0

Instalando o ssmtp ajudou. Depois que consegui ver a saída, descobri que meu .bashrc / .bash_profile estava configurado incorretamente, e é por isso que nada apareceu no arquivo de saída do trabalho. Consegui consertar isso e agora meu trabalho está funcionando bem.

    
por David M. Karr 03.10.2013 / 01:11