2017-02-16 5 views
0

java -jar /home/scripts/relay.jar работает нормально, когда я запускаю из командной строки. Команда создает файл: relay.txtJava не работает в crontab

В кронтаб

/usr/bin/java -jar /home/oneprovider/relay.jar 

это ничего не производит. Я сначала получил его без/usr/bin /, но затем сделал which java и добавил абсолютный путь без везения. Файл jar был первоначально написан для окон, но он отлично работает в Linux при запуске из командной строки

Что мне не хватает?

+0

Можете ли вы проверить, что процесс java запущен, когда он должен работать? – Sonam

+1

Команда, выполняемая в crontab, отличается от команды, которую вы выполняете вручную? Почему вы не ставите 'java -jar/home/scripts/relay.jar' в свой crontab? – Matt

+2

Кроме того, где вы ожидаете, что файл будет создан (и почему), и каков код, создающий этот файл? –

ответ

1

Согласен с тем, что рабочий каталог, вероятно, является проблемой. Можете ли вы написать сценарий оболочки, который обертывает вызов Java и устанавливает рабочий каталог? Что-то вроде:

#!/bin/sh -e 
cd /home/oneprovider 
/usr/bin/java -jar /home/oneprovider/relay.jar 

Затем измените задание cron, чтобы запустить сценарий. Не забудьте сделать chmod и убедитесь, что пользователь cron может писать в каталог, если это не ваш личный crontab.

+1

или использовать/usr/bin/java "-Duser.dir =/home/oneprovider" -jar /home/oneprovider/relay.jar – JustDanyul

 Смежные вопросы

  • Нет связанных вопросов^_^