Файл JAR не выполняется при использовании в сценарии оболочки в crontab? - PullRequest
0 голосов
/ 27 августа 2018

Ниже мой shell-скрипт, расположенный в /app/Scripts.

Test.sh:

#!/bin/sh
usr/bin/java -jar /app/Scripts/emailJAR.jar >> /app/pvs/test.txt
echo $(date) >> /app/Scripts/test.txt

Я запланировал cron-tab как * * * * * /app/Scripts/Test.sh

Я получаю вывод "echo $ (date)" каждую минуту, но не usr / bin / java -jar /app/Scripts/emailJAR.jar.

Кто-нибудь может посоветовать?

Расположение скрипта, расположение Jar, разрешение на выполнение - все они установлены. Все еще только команда java -jar выполнена через crontab.

Mystery, я могу запустить скрипт вручную.

Пожалуйста, помогите мне в этом вопросе.

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Во второй строке попробуйте изменить usr/bin/java на /usr/bin/java. Как написано в настоящее время, он работает только при выполнении из корневого каталога, а crontab, вероятно, выполняется из какого-то другого каталога.

0 голосов
/ 27 августа 2018
>> /app/pvs/test.txt

Похоже, что это может быть принято в качестве аргумента в файл .jar, например:

java -jar myJar.jar arg1 arg2 arg3 etc

Вы можете сделать

System.out.println(Arrays.asList(args)); 

В ваших программах основной метод, чтобы проверить, верно ли мое утверждение.

Или искомый вывод перенаправляется в выходной поток файла test.txt, на который вы ссылаетесь

Надеюсь, вы проверяли работу jar до того, как пытались поместить его в crontab, а также саму команду.

...