Executa o aplicativo Java como trabalho Cron

1

Eu tentei tudo o que posso pensar e procurei alto e baixo por soluções, mas não consigo fazer o JAVA_HOME entrar no cron para executar qualquer coisa java periodicamente.

No terminal

java -version

me dá tudo que você esperaria. 'which java' imprime '/ usr / bin / java'

Eu também estou executando aplicativos Java bem de scripts bash lançados no terminal.

Eu quero executá-los periodicamente no cron, mas ele está se recusando.

Meu crontab

PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-6-sun/bin
JAVA_HOME=/usr/lib/jvm/java-6-sun
* * * * * /bin/bash --version > /tmp/b.log
* * * * * /usr/bin/java -version > /tmp/j.log

Que preenche b.log com texto, mas j.log está vazio.

Eu também tentei adicionar exportar JAVA_HOME = / usr / lib / jvm / java-6-sun para o topo dos scripts, mas sem dados.

Algum apontador?

    
por Neil Thomson 15.05.2012 / 15:02

1 resposta

1

O problema é que o java -version não parece estar gravando no stdout

rhand@server:/tmp$ /usr/bin/java -version > t.log
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.13) (6b20-1.9.13-0ubuntu1~10.04.1)
OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)

A solução seria usar este comando:

/usr/bin/java -version 2> /tmp/j.log
    
por Rhand 15.05.2012 / 15:19