Oracle HTTP Server 12cをサーバの再起動にあわせて毎度手動で起動するのが面倒だったので、自動実行できないかと考えたのが始まりです。
ねじ込んだ理由
・「Oracle HTTP Server 12c」が乗っているサーバを利用している
・サーバが再起動するたびに、HTTPを起動させるのが面倒臭い…
→サーバ起動時に自動でHTTPを立ち上げるようにしよう!
・サービスを作成して自動実行に設定できた…!
→サービスの状態「 」。
・タスクスケジューラでいけるのでは?
作成したサービス
・Oracle HTTP Server 12c を起動する際に必要なNodeManagerを起動するサービス
・Oracle HTTP Server 12c 本体を起動するサービス
全体の流れ
-
サービスの作成と自動設定
本来HTTPを起動するためには、NodeManagerの起動→HttpServerの起動という手順を踏みます。
これらを実行するサービスを作成します。 -
1.が失敗したのでサーバ起動時にサービスを実行するようタスクスケジューラを設定
サービスの作成
作ったはいいですが、実行に失敗したのでざっくりと。
基本は、
「javaのクラスファイルを作成→→exeファイルを作成→サービス登録」
という流れになります。
ファイルの作成
(javaのクラスファイルとexeファイル作成は割愛します。)
サービスの登録にあたり、exeファイルと同じ場所にxmlファイルが必要になります。
xmlの詳細は以下の通りです。
<service>
<id>OracleHttpStartBat</id>
<name>OracleHttpStartBat</name>
<description>This service start OHS.</description>
<executable>java</executable>
<arguments>-jar "OracleHttpStartBat.jar"</arguments>
<logmode>rotate</logmode>
</service>
上からサービスのID、サービス名、概要、実行言語、引数、ログ形式、となります。
xml作成後、同じパス上でコマンドプロンプトを開き、以下を実行してください。
(OracleHttpStartBat.exe) install
簡単ですが、これでサービスの登録は完了です。
これで自動起動に設定しておけば、サービスは自動実行されます。
たぶん。
参考URL
https://qiita.com/moni-hide/items/fd26fb223f2d4736cf55
スケジュールアシスタント設定
上のサービスの件がうまくいかなかったので、こっちで実行しました。
こちらはかなり操作が簡単です。
サーバ内のスケジュールアシスタントを起動します。
以下のものを指定してほぼ完了です。(詳細はプロパティで編集できます。)
1.タスクの名称
2.トリガー(実行タイミング、間隔、開始日時の設定)
今回はユーザーのログオン時を指定。
3.操作(実行するプログラムの設定)
今回は対象バッチファイルの実行。
プログラムを実行する際は、バッチファイルを作っておきましょう。
こっちの方法だと正常にHTTPが起動できました…