JP1とは
JP1とは、JP1ジョブ管理(JP1/AJS3:JP1/Automatic Job Management System 3)のことで、国内No.1のシェアを持つ運用管理ツールである。
JP1では、ジョブネットと言われるジョブの入れ物に、コマンドを実行するジョブとジョブネット等が格納されており、それらはジョブの定義に基づいたルールで実行される
ジョブ定義取得
以下、JP1内部のFUNCTIONであるajsprint
を利用すると、ジョブ定義を取得することができる。
例えば、以下のコマンドを実行すると、ジョブの絶対パスとそのサービス名を取得することができる。
/opt/jp1ajs2/bin/ajsprint -F ${サービス名} -f "%JN,%pm" -R -J ${ジョブパス}
ジョブ定義の一括変更
先ほどのジョブ定義取得を利用して、ジョブ定義を一括変更するコマンドを作成することできる。
ジョブのパラメータを一括編集
以下を実行すると、ジョブパス以下のジョブを"現在の状態"に編集するコマンドが生成される。
※表示された変更を行いたい内容・対象のみ、テキストエディタで編集して実行すれば一括変更できる
※JP1のFUNCTION定義配置箇所はopt/jp1ajs2/bin/と仮定
/opt/jp1ajs2/bin/ajsprint -F ${サービス名} -f "[%JN][%pm]" -R -J ${ジョブパス} | sed 's/\[\(.*\)\]\[\(.*\)\]/\/opt\/jp1ajs2\/bin\/ajschgjob -F ${サービス名} -pm '\''\2'\'' \1/g'
ジョブの所有者変更
※表示された変更を行いたい内容・対象のみ、テキストエディタで編集して実行すれば一括変更できる
※JP1のFUNCTION定義配置箇所はopt/jp1ajs2/bin/
と仮定
/opt/jp1ajs2/bin/ajsprint -F ${サービス名} -f "[%JN][%ow]" -R ${ジョブパス} | sed 's/\[\(.*\)\]\[\(.*\)\]/\/opt\/jp1ajs2\/bin\/ajschange -F ${サービス名} -o '\''\2'\'' \1/g'
実行ユーザ名変更
※表示された変更を行いたい内容・対象のみ、テキストエディタで編集して実行すれば一括変更できる
※JP1のFUNCTION定義配置箇所はopt/jp1ajs2/bin/と仮定
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 -f "[%JN][%un]" -R -J ${ジョブパス} | sed 's/\[\(.*\)\]\[\(.*\)\]/\/opt\/jp1ajs2\/bin\/ajschange -F ${サービス名} -U '\''\2'\'' \1/g'
ジョブ削除
※表示された変更を行いたい内容・対象のみ、テキストエディタで編集して実行すれば一括変更できる
※JP1のFUNCTION定義配置箇所はopt/jp1ajs2/bin/
と仮定
/opt/jp1ajs2/bin/ajsprint -F ${サービス名} -f "[%JN]" -R -N ${ジョブパス} | sed 's/\[\(.*\)\]/\/opt\/jp1ajs2\/bin\/ajsdelete -F -N ${サービス名} '\''\1'\''/g'
コメント変更
※表示された変更を行いたい内容・対象のみ、テキストエディタで編集して実行すれば一括変更できる
※JP1のFUNCTION定義配置箇所はopt/jp1ajs2/bin/
と仮定
/opt/jp1ajs2/bin/ajsprint -F ${サービス名} -f "[%JN][%cm]" -R ${ジョブパス} | sed 's/\[\(.*\)\]\[\(.*\)\]/\/opt\/jp1ajs2\/bin\/ajschange -F ${ジョブパス} -C '\''\2'\'' \1/g'
保留ジョブを解除
※表示された変更を行いたい内容・対象のみ、テキストエディタで編集して実行すれば一括変更できる
※JP1のFUNCTION定義配置箇所はopt/jp1ajs2/bin/
と仮定
/opt/jp1ajs2/bin/ajsprint -F ${サービス名} -f "[%JN][%ha]" -R ${ジョブパス} | grep yes | sed 's/\[\(.*\)\]\[\(.*\)\]/\/opt\/jp1ajs2\/bin\/ajschange -F ${サービス名} -b n \1/g'