スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

crontabのコマンドでJavaアプリケーションが実行されない

前述した「情報発信は自宅から!CentOS低予算自宅サーバ奮闘メモ 定期的に自動実行させるcrontabの設定例」の通りcrontabファイルを設定して、コマンドには任意のJavaアプリケーションを起動させるようにしましたが、起動しませんでした。

ちなみに、cron自体は/var/log/cronで確認すると指定の時間に動いているようです。

ちなみに、Javaのバージョンは以下の通りです。

java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)


なぜ、Javaアプリケーションが動いていないか?と判断したのは、そのアプリケーションでログを吐かせるのですが、指定時間になってもまったく動かないからです。

ネットで調査したところによると、これは環境変数が原因だそうです。環境変数とは、envコマンドで表示される変数たちのことですが、cronを実行させるときにも設定ファイルにこの環境変数を記載しないといけないようです。

crontab -eで編集する際、その先頭に環境変数を記載してやります。
その設定例を以下に記載します。

SHELL=/bin/bash
USER=develop
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/java/jre1.6.0_05/bin:/home/develop/bin
JAVA_HOME=/usr/java/jre1.6.0_05
LANG=ja_JP.UTF-8
CLASSPATH=.:/usr/java/jre1.6.0_05/lib/tools.jar
0 */3 * * * sh /home/develop/spider/bin/cmd.sh


Javaアプリケーションとして重要なのは、PATH、JAVA_HOME、LANG、CLASSPATHです。この値はenvコマンドで表示させるものと同じであればOKです。
このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

プロフィール

白鯖

Author:白鯖
安い寄せ集めの部品で構築し、CentOS5をインストールしました。主に、Webサーバ、アプリケーションサーバとして運用中。ハードの知識はあまり無いプログラマですが、全部自前で作るのは、手間はかかるけど、レン鯖より面白いです。

ハードウェア構成

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
Max TDP控え目なCPU
安くて静音なクーラー
検索フォーム
ユーザータグ
RSSフィード
はてな
スポンサード リンク
おすすめ書籍
twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。