◀ 2.

JP1/AJS3 コマンド一覧|ajsentry・ajsshow・ajsrerunなど主要コマンドの使い方とオプション

▶
この記事の要点
  • JP1/AJS3 の運用コマンドは ajs で始まるものが中心。書式は Windows と UNIX で共通(使えるオプションに差がある場合あり)
  • 実行登録は ajsentry、状態確認は ajsshow、一時変更は ajsplan、登録解除は ajsleave
  • 止めるのは ajsintrpt(中断)・ajskill(強制終了)、やり直しは ajsrerun、状態の書き換えは ajschgstat
  • 定義の出力・取り込みは ajsprint -a と ajsdefine の組み合わせ。バックアップや移行で使う
  • サービス名は -F、または環境変数 AJSCONF。省略時はデフォルトのスケジューラーサービス
  • 戻り値は 0 が正常、多くのコマンドで異常は 4〜124 の 4 の倍数

JP1/AJS3 のコマンドとは

JP1/AJS3 は GUI(JP1/AJS3 - View)だけでなく、ほぼすべての運用操作をコマンドで実行できます。コマンドを使うと、別のスクリプトからジョブネットを起動したり、障害時の再実行手順を手順書に定型化したり、定義をテキストでバックアップしたりできます。この記事では、日立の公式マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス」(Version 13)で書式とオプションを確認したコマンドだけを、用途別に整理します。

記述形式と文法規則は Windows と UNIX で共通です。Windows ではコマンドプロンプトから、UNIX では制御端末から実行します。ただし、使えるコマンドやオプションが OS によって異なる場合があるため、最終的には自分のバージョンのコマンドリファレンスで確認してください。

用途別コマンド一覧

やりたいことコマンド概要
ジョブネットを動かすajsentry定義済みジョブネットを実行登録する(即時・計画・確定)
状態・結果・予定を見るajsshow実行結果、現在の状態、次回予定を出力する
次回予定を一時的に変えるajsplan開始日時の変更、保留・保留解除、待ち合わせ条件の一時無効化など
実行登録をやめるajsleaveジョブネットの実行登録を解除する
区切りで止めるajsintrpt実行中のジョブが終わったあとでジョブネットを中断する
すぐ止めるajskill実行中のジョブやジョブネットを強制終了する
やり直すajsrerunジョブネットを再実行する(先頭から、異常ジョブから、など)
状態を書き換えるajschgstatジョブの状態を正常終了などに変更する
定義変更のため一時停止ajssuspendルートジョブネットをサスペンド、または解除する
定義を出力するajsprintユニットの定義内容やカレンダー情報を出力する
定義を取り込むajsdefineユニット定義ファイルからユニットを定義する
サービス状態を見るjajs_spmd_statusJP1/AJS3 のプロセス(サービス)の状態を確認する
起動(UNIX)jajs_start物理ホストの JP1/AJS3 を起動する。格納先は /etc/opt/jp1ajs2/

まず押さえる共通ルール

スケジューラーサービスとユニット名の指定

多くのコマンドは -F サービス名 で対象のスケジューラーサービスを指定します。省略した場合は環境変数 AJSCONF の値、それもなければデフォルトのスケジューラーサービスが使われます。ユニット名は /group1/net1/job1 のように先頭が / の完全名で書くのが確実です。完全名でない場合は環境変数 AJSPATH の内容が先頭に補われ、未設定なら / が補われます。ユニット名の書式は次のとおりです。

[[論理ホスト名:][スケジューラーサービス名]:]ユニット名[:@実行ID]

権限と環境変数

  • ジョブネットを操作するコマンドは、コマンドを実行した OS ユーザー名でアクセス権限を判断する。OS ユーザー名と JP1 ユーザー名が違う場合は環境変数 JP1_USERNAME に JP1 ユーザー名を設定する
  • 論理ホスト(クラスタ)の JP1/AJS3 を操作する場合は環境変数 JP1_HOSTNAME に論理ホスト名を設定する
  • ajsentry や ajsrerun の実行には JP1_AJS_Admin・JP1_AJS_Manager・JP1_AJS_Operator のいずれかの権限レベルが必要。ajsshow や ajsprint は JP1_AJS_Guest でも実行できる
  • スケジューラーサービスが起動していないと、操作系のコマンドは異常終了する

戻り値

ajsentry、ajsrerun、ajsprint、ajsdefine などは、0 が正常終了、異常終了は 4〜124 の 4 の倍数(ajsentry は 1〜3 も異常)です。シェルスクリプトから呼ぶときは戻り値 0 以外をエラーとして扱えば十分です。

ajsentry: ジョブネットを実行登録する

定義済みのルートジョブネットを実行登録します。オプションで登録方式が決まり、-n -f -d -t -p -g のどれも付けないと -s(計画実行登録)として扱われます。

オプション意味
-s定義されたスケジュールに従って実行(計画実行登録)。当日の予定時刻を過ぎていても実行する
-f登録時点の次回スケジュールに従って実行(計画実行登録)。当日の予定時刻を過ぎていれば当日分は実行しない
-nスケジュールを無視してすぐ実行(即時実行登録)
-d 日付 -t 時刻指定日時に実行(確定実行登録)。時は 0〜47 まで指定できる
-b 開始日 -e 終了日期間を指定して確定実行登録
-g 世代数次回以降の未来予定世代数(1〜99)を指定して確定実行登録
-w即時実行登録したジョブネットの終了までコマンドを待たせる(-n と併用)
-c 変数名:値マクロ変数(AJS2 で始まる名前)に値を渡す。32 個まで
-h登録時に最初の実行世代を保留にする
# スケジュールどおりに動かす(計画実行登録)
ajsentry -s /group1/net1

# 今すぐ実行し、終わるまで待つ
ajsentry -n -w /group1/net1

# マクロ変数 AJS2ENV に値を渡して即時実行
ajsentry -n -c AJS2ENV:/tmp/unit_data /group1/net1

# 指定日の 20 時に 1 回だけ実行(確定実行登録)
ajsentry -d 2026/10/10 -t 20 /group1/net1

注意点として、-w を付けても戻り値でジョブネットの成否は分かりません。結果は ajsshow で別に確認します。また、次回予定がすでにあるジョブネットに重ねて計画実行登録はできず、サスペンド中のジョブネットも登録できません。

ajsshow: 状態・実行結果・予定を確認する

実行登録済みのジョブネットやジョブの、過去の実行結果・現在の状態・次回予定を出力します。出力内容は排他的なオプションで選びます。

オプション出力内容
-l指定したジョブネットと、その中のジョブネット・ジョブの実行結果
-s次回実行予定の実行登録情報
-p次回の実行予定情報
-rジョブの標準エラー出力ファイル名
-f "フォーマット"%J(完全名)、%C(状態)、%S(開始日時)、%E(終了日時)、%R(戻り値)などを自由に並べて出力
-g 世代数何世代分を出すか(a で全世代)
-b / -e暦日で期間を指定。-v / -w はジョブネットの実行日で期間を指定
-R / -E / -T配下をすべて / 実行登録済みのもの / ルートジョブネットだけ
# net1 と配下のジョブの実行結果
ajsshow -l /group1/net1

# group1 配下の登録済みジョブネットを 2 世代分、名前・開始・終了で一覧
ajsshow -t"世代: %G" -g2 -f"%J %S %E" -RE /group1

# 実行登録番号を指定して、異常ジョブの標準エラー出力ファイル名を調べる
ajsshow -B 20261003001 -r /group1/net1/job1

# 状態と戻り値だけを配下すべてについて出す
ajsshow -f "%J %C %R" -R /group1/net1

障害対応では「-f "%J %C %R" -R でどのジョブが異常か特定 → -r で標準エラー出力ファイルを見る」という流れが定番です。-b -e は暦日、-v -w はジョブネットの実行日が基準になるため、日をまたぐジョブネットでは結果が変わる点に注意してください。

ajsplan: 次回予定を一時的に変更する

実行登録済みのジョブネットの次回スケジュールを一時的に変更します。変更後の 1 回を実行したら、元の定義どおりのスケジュールに戻ります。ジョブの一時的な保留・保留解除や、待ち合わせ条件の一時無効化にも使います。

  • -t 時:分 / -d 日付: 次回の開始時刻・開始日を変更(ジョブには指定不可)
  • -h: 次回実行を一時的に保留。-r で保留を解除
  • -p: 次回実行予定を取り消す
  • -xw disable -xn 対象: 待ち合わせ条件を一時的に無効化
# 今日だけ開始時刻を 17:00 に変更
ajsplan -t 17:00 /group1/net1

# 次回実行を保留する/保留を解除する
ajsplan -h /group1/net1
ajsplan -r /group1/net1

ajsleave: 実行登録を解除する

ジョブネットの実行登録を解除します。定義の大きな変更や廃止の前に使います。-B で解除する世代(all、schedule、result または実行登録番号)、-b -e で期間を指定できます。

ajsleave /group1/net1

ajsintrpt と ajskill: 実行を止める

止め方は 2 種類あります。ajsintrpt は実行中のジョブが終わるのを待ってからジョブネットを中断します。ajskill は実行中のジョブやジョブネットをその場で強制終了し、ジョブネットを指定した場合は配下のジョブもすべて止まります。データ不整合を避けたいときはまず中断を、暴走しているジョブを止めたいときは強制終了を選びます。

# 今のジョブが終わったら止める
ajsintrpt /group1/net1

# net1 の中の job1 を強制終了
ajskill /group1/net1/job1

ajsrerun: 再実行する

ジョブネットを再実行します。再実行を指示するとすぐに実行されます。どこから再開するかをオプションで選びます。オプションを省略すると -a(異常終了したジョブから)として扱われます。

オプション再実行の開始点指定できる対象
-tジョブネットの先頭から(正常終了した世代も可)ルートジョブネットのみ
-a異常終了したジョブからルートジョブネットのみ
-n異常終了したジョブの次のジョブからルートジョブネットのみ
-s異常終了したジョブを直下に含むジョブネットからルートジョブネットのみ
-w警告検出終了したジョブを再実行ルートジョブネットのみ
-f指定したジョブネット・ジョブからネスト・ジョブも可
-p指定したジョブネット・ジョブだけネスト・ジョブも可
-e指定したジョブネット・ジョブの次からルートジョブネットは不可
# 中断したジョブネットを先頭から再実行
ajsrerun -t /group1/net1

# 原因を取り除いたあと、異常終了したジョブから再実行
ajsrerun -a /group1/net1

# 異常ジョブを飛ばして次から(手作業で代替処理を済ませた場合など)
ajsrerun -n /group1/net1

落とし穴が 2 つあります。1 つは、前日以前に終わった世代を再実行すると、前回の実行日時点のスケジュール情報で再実行されることです(たとえば木曜分を金曜に再実行しても、金曜だけ動くネストジョブネットは実行されません)。もう 1 つは、実行中のジョブネットに対して -f や -e で実行中ジョブより前を開始点にすると、そのジョブが 2 回実行されることです。

ajschgstat: ジョブの状態を変更する

ジョブ(とジョブネットコネクタ)の状態を変更します。ジョブの状態を変えると、上位のジョブネットの状態も連動して更新されます。-t に指定できる状態は normal(正常終了)、warning(警告検出終了)、abnormal(異常検出終了)、fail(起動失敗)、bypass(計画未実行)、exit(終了コードとしきい値に従う)です。

# 異常検出終了の job1 を、手作業で対処済みとして正常終了扱いにする
ajschgstat -t normal -v abnormal /group1/net1/job1

ajssuspend: 定義変更のためにサスペンドする

実行登録済みのルートジョブネットは、そのままでは配下の定義を変更できません。ajssuspend -S でサスペンドすると、ルートジョブネット以外の定義を登録解除せずに更新できます(実行中のユニットは不可)。変更後は -C で解除します。

ajssuspend -S /group1/net1
# (ここで定義を変更)
ajssuspend -C /group1/net1

ajsprint と ajsdefine: 定義のバックアップと移行

ajsprint -a は、指定したユニットとその配下の定義を、ajsdefine でそのまま取り込める形式で出力します。テスト環境から本番環境への移行や、変更前の定義の退避に使えます。ajsprint -c はジョブグループのカレンダー(運用日 o、休業日 x)を表示します。

# group1 配下の定義をファイルに退避
ajsprint -a "/group1/*" > /tmp/group1_def.txt

# 2026 年 10 月のカレンダーを確認(ジョブグループのみ指定可)
ajsprint -c 2026/10 /group1

# 文法チェックだけ行う
ajsdefine -t /tmp/group1_def.txt

# 退避した定義を、ジョブグループ /group1 の下に定義する
ajsdefine -d /group1 /tmp/group1_def.txt

ajsdefine は同名ユニットがあるとき、-e でエラー、-i で確認プロンプト、-f で強制更新になります。強制更新は既存ユニットと配下をいったん削除してから作り直す動きなので、途中でエラーになると削除された状態で終わる場合があります。実行登録済みのルートジョブネットの情報は更新できない点も覚えておきましょう。

jajs_spmd_status: サービスが動いているか確認する

JP1/AJS3 のプロセス群が起動しているかを確認します。UNIX での格納先は /opt/jp1ajs2/bin/ です。UNIX の jajs_start は内部でこのコマンドを使い、起動完了を最大 60 秒待ちます。なお、インストール直後の jajs_start は起動処理がコメント化されていて、自動起動させるにはカスタマイズが必要です。

/opt/jp1ajs2/bin/jajs_spmd_status

障害時の基本手順(コマンド版)

  1. ajsshow -f "%J %C %R" -R で異常ジョブと戻り値を特定する
  2. ajsshow -r で標準エラー出力ファイルの場所を調べ、内容を確認する
  3. 原因を取り除く(データ修正、ディスク空き確保など)
  4. ajsrerun -a(異常ジョブから)または ajschgstat -t normal + ajsrerun -n(手作業で代替した場合)で再開する
  5. 再度 ajsshow で正常終了を確認する

関連

公式情報: JP1/Automatic Job Management System 3 コマンドリファレンス(日立製作所)

Post Share
子ページ

子ページはありません

同階層のページ
  1. JP1/AJS3 とは
  2. JP1/AJS3 のコマンド一覧
  3. JP1/IM とは
  4. JP1/Base とは
  5. JP1/FTP(JP1/FTS)とは

最近更新/作成されたページ