外部コマンドの実行
最終更新日: 2022年6月17日
Wagby から外部コマンド(例:Windows OS における EXE ファイル)を定期的に実行することができます。
ここでいう外部コマンドは、アプリケーションサーバで稼動するものです。ファイルパスの記述は、アプリケーションサーバのフォルダ構成に合わせてください。
複数のコマンドを実行したい場合は、1つのコマンドに対応したジョブスケジュールを個別に用意してください。
ジョブの実行結果はログファイル(system.log)に記載されます。
ただし実行結果が一切の戻り値(文字列)を返さない、あるいは外部コマンドの記述が誤っているなどの理由でジョブが実行されなかった場合は、実行結果はログに含まれません。その代わり、次のように記録されます。
利用方法
例
設定方法
ここで実行したいコマンドを記述します。下図は「C:ドライブの内容を確認する」という次のコマンドを指定した例です。
キーと値の記述方法については、指定できるジョブパラメータをお読みください。
cmd /C "dir C:\"
「パスワード」欄には上で指定したアカウントのパスワードを入力します。
ワンポイント
このジョブの特徴
[WARN jp.jasminesoft.jfc.job.JFCBaseJobBean executeInternal] No message is returned.
指定できるジョブパラメータ
ジョブに指定するパラメータを複数、指定することができます。
ここで指定できるパラメータ(キーと値)は次の通りです。
キー(パラメータ名) | 必須 | 説明 | 値の記述例 |
---|---|---|---|
cmd | ○ | 外部コマンドを指定します。 | cmd /C "dir C:\" |
dir | 外部コマンドを実行するディレクトリを指定します。 | C:\work | |
env | 外部コマンドに与える環境変数を「環境変数名=値」という形式で指定します。複数の環境変数を指定する場合は、パラメータのキーを env ではなく env1, env2, env3,... としてください。 | SAMPLE=sample | |
maintenance | このジョブを実行する前にメンテナンスモードに切り替えることができます。ジョブ実行後にメンテナンスモードも終了します。 | true | |
maintenanceOption | メンテナンスモード切り替え時にログオン済みであったアカウントへの対応方法を指定します。 | logout : ジョブ実行前にログオンしていたアカウントを強制ログアウトさせる。 fail : ジョブ実行前にログオンしているアカウントがいれば、ジョブを失敗させる。 (省略時) : ログオンしているアカウントはそのままに、モードを切り替える。 |
|
lock | 実行前にロックするモデルを指定します。ジョブ終了後、ロックは解除されます。 | customerなどのモデル名英語。空白区切りで複数のモデルを指定できます。 | |
cache | ジョブ終了後、指定したモデルのキャッシュをクリアします。 | customerなどのモデル名英語。空白区切りで複数のモデルを指定できます。 |
Unix系OSの場合
環境変数 KEY の値を返すスクリプト sample.sh を customize/webapp フォルダに用意した、とします。この場合はビルド後、wagbyapp/webapps/wagby に sample.sh がコピーされた状態となります。
スクリプトsample.shの内容は次の通りとします。
echo $KEY
このスクリプトを実行するためのジョブパラメータは次のようになります。
dir | ../webapps/wagby/ |
cmd | bash sample.sh |
env | KEY=wagby |
実行するとコンソールに wagby と表示されます。
ジョブの実行を停止する
ジョブを一時的に無効にすることができます。
- 管理者権限をもったアカウントでログオンします。
- 管理処理メニューから「ジョブ管理... > ジョブスケジュール検索」画面を開きます。
- 該当する「ジョブスケジュール」を検索し、更新画面を開きます。
- 「有効」フラグについているチェックをはずし、保存します。
実行結果をメールで送信する
多重実行の抑制
ジョブの多重実行を行うことはできません。
あるジョブを 1 分毎に起動させるようにした場合、1 分後にこのジョブの実行が終了していなければ、新しいジョブは実行されません。
すぐに実行する
時間指定ではなく、このジョブを今すぐ実行することもできます。「ジョブの即時実行」をお読みください。
実行対象 8.3.1
オートスケール環境でない場合、常に "1インスタンス" としてください。
オートスケール環境でジョブを運用する場合、"1インスタンス" と "全インスタンス" を選択することができます。[詳細...]