2017-02-16 65 views
0

java -jar /home/scripts/relay.jar當我從命令行啓動時工作正常。該命令產生一個文件:relay.txtJava未在crontab中運行

在crontab中

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

不產生任何東西。我第一次沒有/ usr/bin /但是然後做了which java,並且增加了絕對路徑,但沒有運氣。 jar文件最初是爲Windows編寫的,但它在從命令行啓動時在Linux中工作正常

我錯過了什麼?

+0

你可以驗證java進程運行時,它應該運行? – Sonam

+1

您在crontab中執行的命令與手動執行的命令不同?你爲什麼不把'java -jar/home/scripts/relay.jar'放到你的crontab中? – Matt

+2

另外,您希望在哪裏創建文件(以及爲什麼)以及創建該文件的代碼是什麼? –

回答

1

同意工作目錄可能是問題。你能寫一個包裝java調用的shell腳本並設置工作目錄嗎?例如:

#!/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