JP1/AJS3でよく使うコマンドを、用途別に1~2行のサンプル付きでまとめます。
特に復元・再定義系のコマンドは、既存の本番ジョブネットを上書きしないよう、別のジョブグループへ復元する例にしています。
この記事では、復元確認用としてあらかじめ次のジョブグループが存在するものとします。
/RESTORE_TEST
なお、JP1/AJS3のユニット名はWindows版でも、
/JOBGROUP/JOBNET_A
のように / で表記します。
Windowsのファイルパスは、
C:\Temp\...
です。
ジョブネット・ユニット定義
定義内容を表示
ajsprint -a /JOBGROUP/JOBNET_A
定義をファイルへ保存する場合:
ajsprint -a /JOBGROUP/JOBNET_A > C:\Temp\JOBNET_A.def
定義ファイルから別ジョブグループへ復元
既存の /JOBGROUP/JOBNET_A を直接更新せず、検証用の /RESTORE_TEST 配下へ定義します。
ajsdefine -d /RESTORE_TEST C:\Temp\JOBNET_A.def
結果イメージ:
元:
/JOBGROUP/JOBNET_A
復元先:
/RESTORE_TEST/JOBNET_A
ajsdefine の -d は定義先ユニットを指定するオプションです。
既存ジョブを誤って更新する危険を減らすため、バックアップからの確認用途では別ジョブグループへ定義して内容を確認する方法がおすすめです。
実行登録
計画実行登録
ajsentry /JOBGROUP/JOBNET_A
ジョブネットに設定されているスケジュールに従って実行登録します。
即時実行登録
ajsentry -i /JOBGROUP/JOBNET_A
スケジュール時刻を待たずに実行する場合に使用します。
登録解除
ジョブネットの実行登録を解除
ajsleave /JOBGROUP/JOBNET_A
実行登録済みのルートジョブネットを登録解除するときに使用します。
復元作業で元のジョブネットを操作する場合は、実行登録状態にも注意します。
実行状況確認
ジョブネット状態を確認
ajsshow /JOBGROUP/JOBNET_A
実行世代や現在の状態を確認するときに使用します。
待ち合わせ状態を含めて確認
ajsshow -xw /JOBGROUP/JOBNET_B
待ち合わせ条件を利用しているユニットの状態確認に使用できます。
退避
新しい退避ボックスへ退避
ajsbackup -m -n BACKUP01 /JOBGROUP/JOBNET_A
BACKUP01 という新しい退避ボックスを作成して、JOBNET_A を退避します。
既存の退避ボックスへ追加
ajsbackup -a -n BACKUP01 /JOBGROUP/JOBNET_B
既存の BACKUP01 へ別のユニットを追加退避します。
退避内容確認
退避ボックス内の一覧を表示
ajsrestore -t -n BACKUP01
表示例:
0001:/JOBGROUP:JOBNET_A:n
0002:/JOBGROUP:JOBNET_B:n
表示形式は概ね、
退避ファイル番号:退避元ユニット:退避ユニット名:ユニット種別
です。
回復
退避データを別ジョブグループへ回復
元の /JOBGROUP/JOBNET_A へ直接戻すのではなく、検証用の /RESTORE_TEST へ回復します。
例えば退避ファイル番号 0001 を回復する場合:
ajsrestore -d /RESTORE_TEST -n BACKUP01 0001
結果イメージ:
退避元:
/JOBGROUP/JOBNET_A
回復先:
/RESTORE_TEST/JOBNET_A
これなら、元の本番ジョブネットを直接変更せずに、
- ジョブ定義
- 実行ファイル
- パラメーター
- スケジュール
- 関連線
などをJP1/AJS3 – Viewで比較できます。
退避ボックス内をまとめて別ジョブグループへ回復
退避ボックス内のすべての退避ファイルを回復する場合:
ajsrestore -d /RESTORE_TEST -n BACKUP01
退避ファイル番号を省略すると、退避ボックス内の退避ファイルが作成順に回復されます。
ただし、複数のユニットを含む場合は、回復先の構造を事前に確認してから実行してください。
なぜ別ジョブグループへ復元するのか
例えば本番に、
/PRODUCTION/JOBNET_A
が存在するとします。
その状態で同じ場所へ復元すると、条件によっては既存ユニットとの競合や更新が発生する可能性があります。
そこで、
/RESTORE_TEST
を作成して、
ajsrestore -d /RESTORE_TEST -n BACKUP01 0001
とします。
すると、
本番
/PRODUCTION/JOBNET_A
↓
変更なし
検証
/RESTORE_TEST/JOBNET_A
↓
復元データ
という形で比較できます。
バックアップの内容確認だけが目的なら、こちらの方が安全です。
ajsprint / ajsdefineでも同じ考え方
定義ファイル方式でも、本番と同じ場所には直接戻さず、
ajsprint -a /PRODUCTION/JOBNET_A > C:\Temp\JOBNET_A.def
としてバックアップを取得し、
ajsdefine -d /RESTORE_TEST C:\Temp\JOBNET_A.def
とします。
結果:
/PRODUCTION/JOBNET_A
↓
元定義
/RESTORE_TEST/JOBNET_A
↓
バックアップ定義
JP1/AJS3 – Viewから両方を開けば、内容を比較できます。
退避ファイル削除
特定の退避ファイルを削除
ajsbkudel -n BACKUP01 0001
複数削除する場合:
ajsbkudel -n BACKUP01 0001 0002 0003
削除前には、
ajsrestore -t -n BACKUP01
で内容を確認することをおすすめします。
退避ボックス削除
退避ボックス全体を削除
ajsbkudel -n BACKUP01
JP1/AJS3上の退避情報を削除します。
Windows環境でOS上にフォルダーが残る場合は、状態を十分確認してから整理してください。
JP1/AJS3の退避ボックスをOSコマンドで先に直接削除するのは避けた方が安全です。
退避先設定確認
AJSBKUROOTを確認
Windows:
jbsgetcnf -c JP1AJSMANAGER | findstr /I AJSBKUROOT
JP1/AJS3の退避情報ディレクトリ設定を確認するときに使用します。
待ち合わせ条件機能の有効化確認
PREWAITUSEを確認
jbsgetcnf -c JP1AJSMANAGER | findstr /I PREWAITUSE
例えば、
"PREWAITUSE"="yes"
なら待ち合わせ条件機能が有効です。
何も表示されない場合は、明示設定されておらずデフォルト値が使用されている可能性があります。
PREWAITUSEを有効化
AJSROOT1停止
jajs_spmd_stop -n jajs_schd -F AJSROOT1
本番環境ではジョブ実行への影響を確認してから実施します。
PREWAITUSEを有効化
jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER\AJSROOT1]" "PREWAITUSE"="yes"
物理ホストの AJSROOT1 を例にしています。
AJSROOT1起動
jajs_spmd -n jajs_schd -F AJSROOT1
起動後に設定を確認します。
jbsgetcnf -c JP1AJSMANAGER | findstr /I PREWAITUSE
JP1/AJS設定確認
JP1/AJS Manager設定全体を表示
jbsgetcnf -c JP1AJSMANAGER
ファイル保存する場合:
jbsgetcnf -c JP1AJSMANAGER > C:\Temp\jp1conf.txt
Notepadで確認:
notepad C:\Temp\jp1conf.txt
サービス状態確認
JP1/AJSサービス状態確認
jajs_spmd_status
JP1/AJS3の各サービスが起動しているか確認するときに使用します。
復元時のおすすめ手順
バックアップを確認したいだけなら、本番へいきなり回復しない方が安全です。
例えば、
1. 退避内容確認
↓
2. /RESTORE_TESTを準備
↓
3. 別ジョブグループへ回復
↓
4. Viewで元定義と比較
↓
5. 内容が正しいことを確認
↓
6. 必要な場合だけ本番復旧を検討
という順番にします。
ajsbackup方式なら、
ajsrestore -t -n BACKUP01
ajsrestore -d /RESTORE_TEST -n BACKUP01 0001
です。
ajsprint方式なら、
ajsprint -a /PRODUCTION/JOBNET_A > C:\Temp\JOBNET_A.def
ajsdefine -d /RESTORE_TEST C:\Temp\JOBNET_A.def
です。
特に注意:-f は安易に使わない
ajsrestore には、同一名称のユニットが存在する場合でも強制的に回復するためのオプションがあります。
例えば、
-f
です。
しかし、早見表としては元の本番ユニットを誤って変更するリスクを下げるため、通常の復元確認では使用しない方針がおすすめです。
まず、
/RESTORE_TEST
のような何もない場所へ回復し、内容を確認してから本番復旧を判断します。
超簡易早見表
| やりたいこと | コマンド例 |
|---|---|
| 定義表示 | ajsprint -a /JOBGROUP/JOBNET_A |
| 定義をファイル保存 | ajsprint -a /JOBGROUP/JOBNET_A > C:\Temp\JOBNET_A.def |
| 別グループへ定義 | ajsdefine -d /RESTORE_TEST C:\Temp\JOBNET_A.def |
| 計画実行登録 | ajsentry /JOBGROUP/JOBNET_A |
| 即時実行 | ajsentry -i /JOBGROUP/JOBNET_A |
| 登録解除 | ajsleave /JOBGROUP/JOBNET_A |
| 状態確認 | ajsshow /JOBGROUP/JOBNET_A |
| 新規退避 | ajsbackup -m -n BACKUP01 /JOBGROUP/JOBNET_A |
| 退避一覧 | ajsrestore -t -n BACKUP01 |
| 別グループへ回復 | ajsrestore -d /RESTORE_TEST -n BACKUP01 0001 |
| 退避ファイル削除 | ajsbkudel -n BACKUP01 0001 |
| 退避ボックス削除 | ajsbkudel -n BACKUP01 |
| AJSBKUROOT確認 | jbsgetcnf -c JP1AJSMANAGER | findstr /I AJSBKUROOT |
| PREWAITUSE確認 | jbsgetcnf -c JP1AJSMANAGER | findstr /I PREWAITUSE |
| 設定全体確認 | jbsgetcnf -c JP1AJSMANAGER |
| サービス状態 | jajs_spmd_status |
まとめ
JP1/AJS3で特に注意したいのが、
ajsdefine
ajsrestore
などの定義・回復系コマンドです。
バックアップを確認したいだけなのに、本番と同じ場所へ復元する必要はありません。
例えば、
本番
/PRODUCTION/JOBNET_A
があるなら、
検証用
/RESTORE_TEST/JOBNET_A
へ回復します。
ajsrestoreなら、
ajsrestore -d /RESTORE_TEST -n BACKUP01 0001
ajsdefineなら、
ajsdefine -d /RESTORE_TEST C:\Temp\JOBNET_A.def
です。
これなら元のジョブネットを残したまま、
現在の定義
VS
バックアップ時点の定義
を比較できます。
「まず別ジョブグループへ復元して確認する」
という運用にしておくと、バックアップ確認や障害調査時の誤上書きを防ぎやすくなります。

