2016-03-31 2 views
0

IM работает это на 14.04.1-UbuntuJava Крон и эпический не удается

Linux matlabrun 3.19.0-56-родовое # 62 ~ 14.04.1-Ubuntu SMP Пт 11 марта 11:03:15 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

с использованием версии Java:

Java версии "1.7.0_80" Java (TM) SE Runtime Environment (сборка 1.7.0_80-b15) Java HotSpot (TM) 64-разрядная серверная VM (buil d 24,80-b11, смешанный режим)

Поэтому у меня есть два элемента в моих хронах testrun и delme.jar.

PATH=/usr/bin/java:/usr/bin/javac:/usr/lib/jvm/java-7-oracle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 
    LD_LIBRARY_PATH=/usr/local/MATLAB/MATLAB_Runtime/v85/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v85/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v85/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/$ 
    XAPPLRESDIR=/usr/local/MATLAB/MATLAB_Runtime/v85/X11/app-defaults:/usr/local/MATLAB/MATLAB_Runtime/v90/X11/app-defaults 
    # Edit this file to introduce tasks to be run by cron. 
    # 
    # Each task to run has to be defined through a single line 
    # indicating with different fields when the task will be run 
    # and what command to run for the task 
    # 
    # To define the time you can provide concrete values for 
    # minute (m), hour (h), day of month (dom), month (mon), 
    # and day of week (dow) or use '*' in these fields (for 'any').# 
    # Notice that tasks will be started based on the cron's system 
    # daemon's notion of time and timezones. 
    # 
    # Output of the crontab jobs (including errors) is sent through 
    # email to the user the crontab file belongs to (unless redirected). 
    # 
    # For example, you can run a backup of all your user accounts 
    # at 5 a.m every week with: 
    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ 
    # 
    # For more information see the manual pages of crontab(5) and cron(8) 
    # 
    # m h dom mon dow command 
    5,10,15,20,30,35,40,43,45,50,52,55,58 * * * 0,1,2,3,4,5,6 /home/meh/model/TestModelABC/testrun > /home/meh/model/TestModelABC/testrun.log 
    5,10,13,15,17,18,20,25,30,33,35,36,40,43,45,50,52,55,58 * * * 0,1,2,3,4,5,6 java -jar /home/meh/model/TestModelABC/delme.jar > /home/meh/model/TestModelABC/del.log 

testrun является Баш скрипт, который вызывает Java-код, как так:

#!/bin/sh 
java -jar delme.jar 

Это не работает. Он также не работает, когда я вызываю файл непосредственно через java -jar delme.jar изнутри crontab.

Я знаю, что cron работает, просто не выполняя java.

Для этого у меня есть, как вы можете видеть положить в путь, чтобы кронтаб, а также попытались поместить путь в Баш скрипт так:

PATH=/usr/bin/java:/usr/bin/javac:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 
LD_LIBRARY_PATH=/usr/local/MATLAB/MATLAB_Runtime/v85/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v85/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v85/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v90/sys/os/glnxa64: 
XAPPLRESDIR=/usr/local/MATLAB/MATLAB_Runtime/v85/X11/app-defaults:/usr/local/MATLAB/MATLAB_Runtime/v90/X11/app-defaults 
echo "Forecast Test" 

Я действительно застрял теперь, как им из того, что нужно попробовать. Есть идеи? Моя кишка говорит мне, что это проблема PATH, но я не знаю, что осталось попробовать.

+0

Что пишет работа stderr? –

+0

Где 'testrun' должен найти' delme.jar'? Как он должен знать, где он живет? –

ответ

0

Это не получается, что это вопрос путь, по которому CRON звонит из/дома/пользователя и поэтому любые относительные пути, которые были использованы в -cp больше не работал.

0

Он также не работает, когда я называю файл непосредственно с помощью Java -jar delme.jar

Это звучит, как вы не исполняемый файл JAR.

Убедитесь, что у вас есть Main-Class: classname, установленный в манифесте jar, или запустите класс напрямую, указав свой банку на пути к классам.

например. java -cp delme.jar path.to.package.Main

Смотрите также: How to make an executable jar file?

+0

Я весь день отлаживал 'cron'. Каждая проблема - гвоздь, а. Вероятно, это проблема. В Eclipse вы должны использовать функцию «Экспорт» для создания исполняемой банки. – ifly6

+0

@ ifly6 Мы все были там, но давайте подождем, пока OP не подтвердится! – starf

+0

Im довольно уверен, что jar является исполняемым, поскольку он отлично работает, когда я запускаю java-jar delme.jar через командную строку. Он также отлично работает, если я запускаю ./testrun из командной строки. Единственный раз, когда он не работает, - это когда он бежит от crontab.Cron вызывает сценарий bash нормально, но когда его вызывается через cron, он не будет запускать банку. Я ничего не получаю в файле testrun.log. – DevilCode