2017-02-16 21 views
0

java -jar /home/scripts/relay.jarは、コマンドラインから起動すると問題なく動作します。Javaがcrontabで実行されていない

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

は何も生産されていないのcrontabでrelay.txt

:コマンドは、ファイルを生成します。私はまず/ usr/bin /なしでそれを持っていましたが、which javaを実行し、絶対パスを追加しました。 jarファイルはもともとはWindows用に書かれていましたが、コマンドラインから起動したときにLinuxでうまく動作します

何が欠けていますか?

+0

実行する必要があるときにJavaプロセスが実行されていることを確認できますか? – Sonam

+1

crontabで実行しているコマンドは、手動で実行するコマンドと異なりますか? crontabに 'java -jar/home/scripts/relay.jar'を入れないのはなぜですか? – Matt

+2

また、ファイルの作成場所(そしてその理由)はどこですか?そのファイルを作成するコードは何ですか? –

答えて

1

作業ディレクトリが問題になる可能性があるとします。 Javaの呼び出しをラップして作業ディレクトリを設定するシェルスクリプトを記述できますか?次のようなものがあります。

次に、スクリプトを実行するようにcronジョブを変更します。 chmodを忘れないでください。crontabが個人のcrontabでない場合、cronユーザーがディレクトリに書き込むことができるようにしてください。

+1

を使用するか、/ usr/bin/java "-Duser.dir =/home/oneprovider" -jar /home/oneprovider/relay.jarを使用してください。 – JustDanyul

関連する問題