LoginSignup
0
0

More than 3 years have passed since last update.

自作サービスを動かしてみたら失敗したのでタスクスケジューラにねじ込んだ話

Posted at

Oracle HTTP Server 12cをサーバの再起動にあわせて毎度手動で起動するのが面倒だったので、自動実行できないかと考えたのが始まりです。

ねじ込んだ理由

・「Oracle HTTP Server 12c」が乗っているサーバを利用している
・サーバが再起動するたびに、HTTPを起動させるのが面倒臭い…
 →サーバ起動時に自動でHTTPを立ち上げるようにしよう!
・サービスを作成して自動実行に設定できた…!
 →サービスの状態「 」。
・タスクスケジューラでいけるのでは?

作成したサービス

・Oracle HTTP Server 12c を起動する際に必要なNodeManagerを起動するサービス
・Oracle HTTP Server 12c 本体を起動するサービス

全体の流れ

  1. サービスの作成と自動設定
    本来HTTPを起動するためには、NodeManagerの起動→HttpServerの起動という手順を踏みます。
    これらを実行するサービスを作成します。

  2. 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.トリガー(実行タイミング、間隔、開始日時の設定)
 今回はユーザーのログオン時を指定。
image.png

3.操作(実行するプログラムの設定)
 今回は対象バッチファイルの実行。
image.png

プログラムを実行する際は、バッチファイルを作っておきましょう。
こっちの方法だと正常にHTTPが起動できました…

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0