como obter os resultados de execução do trabalho cron

3

Eu escrevi um SimpleWorld Java Program e criei um arquivo jar dele.

Agora, para testar o cron job, escrevi um arquivo crontab.txt com a linha

50 12 27 4 1 java -jar HelloWorld.jar

e salvou-o.

No prompt de comando da caixa unix, eu escrevi:

crontab crontab.txt

Não vejo o resultado do programa na caixa do unix. Como obtenho a linha SysOut "Hello World".

Em outras palavras, como sei se ela foi executada com sucesso ou não?

    
por rekha 27.04.2015 / 19:03

2 respostas

2

A melhor maneira ("correta") de fazer isso é modificar o comando no crontab para que ele redirecione sua saída; por exemplo,

50 12 27 4 1 java -jar HelloWorld.jar >> HelloWorld.output 2>&1

Mas, normalmente, quando uma tarefa cron produz saída não redirecionada, cron captura e envia por e-mail para você. Tente digitar mail e veja o que você recebe. (Se você tiver algum outro sistema de email em sua máquina, use isso, é claro).

    
por 27.04.2015 / 19:09
1

Se uma tarefa cron produzir qualquer saída, o cron a envia para você por meio do recurso de email local. Se uma tarefa do cron retornar um status diferente de zero (ou seja, erro), o cron enviará um e-mail sobre ela. Não há uma maneira robusta de verificar se uma tarefa cron terminou sem saída e com um status zero (ou seja, com êxito) ou se ainda está em execução.

Algumas distribuições não configuram um recurso de email local em sua instalação padrão. Geralmente é fácil fazer isso: basta instalar um dos pacotes MTA como Postfix ou Exim; selecione "somente entrega local" ou algo assim quando for perguntado como configurá-lo. Se você quiser que os emails sejam enviados para um servidor remoto por SMTP, em vez de serem entregues localmente, há um número mínimo de emails MTAs apenas para isso .

Em vez de, ou além do e-mail, você pode organizar a saída do seu trabalho para entrar em um arquivo, usando um redirecionamento na linha de comando.

50 12 27 4 1 java -jar HelloWorld.jar >~/log/HelloWorld-$(date -d \%Y\%m\%d-\%H\%M\%S).log 2>&1
    
por 29.04.2015 / 01:47

Tags