複数ジョブネットを一気に実行するマクロ(Systemwalker)

本ページではSystemWalkerの複数ジョブを一気に実行するマクロを紹介します。

本マクロの用途

大量のジョブネットを一括で実行する際に使用します。前後関係を気にせず同時に起動を掛けるため、前後関係の考慮が必要な場合は本マクロは使用できません。

本マクロの仕様

踏み台(入り口)サーバに指定のユーザでログイン後、操作ログをD:¥temp¥work¥ttmacro¥ttlog¥yyyymmdd_hhmmss.txtに保存します。

踏み台サーバよりSystemWalkerのマネージャーが動作しているサーバ(富士通のベンダ用語で「スケジュールサーバ」と呼称されます)へログインし、 D:¥temp¥work¥ttmacro¥list¥swactionlist.txtに記載のある複数ジョブネットを一括実行します。

ジョブネット実行コマンドを発行後、サーバよりログアウトします。(ジョブネット実行コマンドを発行しただけで、ジョブネットが終了したわけではありません)

本マクロの注意事項

本マクロは、System Walker Operation Managerのミドルウェアが導入されていることが前提となります。

また、スケジュールサーバはLinuxサーバである必要があります。スケジュールサーバがWindowsサーバの場合、本マクロと同様のコマンドを発行するMS-DOSのマクロバッチファイルを一時的にサーバ上へアップロードして、作業終了後にサーバからバッチファイルを削除するなどの裏技で対応すると良いでしょう。(サーバ上にファイルを残さなければリリースになりません)

詳しくは当HPMS-DOS(バッチ)をご確認下さい。


なお、本マクロは以下の形式でコマンドを発行します。

jobschcontrol [プロジェクト名/]ジョブネット名 control [-sys サブシステム番号]

プロジェクト名は別でも構いませんが、サブシステム番号は同一であることを前提としています。サブシステム番号は自分の環境に併せて修正してください。

D:¥temp¥work¥ttmacro¥list¥swactionlist.txtは以下の形式で1ジョブネット毎に改行して下さい。

プロジェクト名A/ジョブネット名1
プロジェクト名A/ジョブネット名2
プロジェクト名B/ジョブネット名3
プロジェクト名C/ジョブネット名4

マクロの配置やログの出力先、仕様などのその他共通注意事項は当サイトで扱うtera termマクロの共通ルールをご確認下さい。

コード

;#################################################################
;ジョブネット一括実行マクロ
;作成日:yyyymmdd
;作成者:wildfish
;更新日:yyyymmdd
;更新者:wildfish
;説明:大量のジョブネットを一括で実行する際に使用します。
;踏み台(入り口)サーバに指定のユーザでログイン後、操作ログを以下に保存します。
;D:¥temp¥work¥ttmacro¥ttlog¥yyyymmdd_hhmmss.txt
;踏み台サーバよりSystemWalkerのマネージャーが動作しているサーバへ
;ログインし、D:¥temp¥work¥ttmacro¥list¥swactionlist.txtに
;記載のある複数ジョブネットを一括実行します。
;ジョブネット実行コマンドを発行後、サーバよりログアウトします。
;(ジョブネット実行コマンドを発行しただけで、ジョブネットが終了したわけではありません)
;#################################################################

;#################################################################
;ログイン、接続処理
;#################################################################

username = 'ユーザ名';←踏み台サーバのログインするユーザ名を記入します
hostname = 'ホスト名';←踏み台サーバのホスト名またはIPを記入します

msg = 'passwordを入力'
passwordbox msg 'Get password'
Password = inputstr

msg = hostname
strconcat msg ':22 /ssh /auth=password /user='
strconcat msg username
strconcat msg ' /passwd='
strconcat msg Password

connect msg

settitle"ジョブネット一括実行マクロ"

;#################################################################
;操作ログの自動保存処理
;#################################################################

getdate datestr
strcopy datestr 1 4 yearstr
strcopy datestr 6 2 monthstr
strcopy datestr 9 2 daystr
gettime timestr
strcopy timestr 1 2 hourstr
strcopy timestr 4 2 minutestr
strcopy timestr 7 2 secondstr

filename = 'D:¥temp¥work¥ttlog¥'
strconcat filename yearstr
strconcat filename monthstr
strconcat filename daystr
strconcat filename '_'
strconcat filename hourstr
strconcat filename minutestr
strconcat filename secondstr
strconcat filename '.txt'

logopen filename 0 0

wait ' ~]$';←一般ユーザのwaitです。rootの場合' ~]#'を指定します。

;#################################################################
;作業担当者出力
;#################################################################
inputbox '作業者名を半角英小文字で入力' '作業担当者名入力画面'
Sagyotan = inputstr
echotan = 'echo '
strconcat echotan Sagyotan
sendln echotan
wait ' ~]$'
;#################################################################
;作業担当者出力終了
;#################################################################

;#################################################################
;スケジュールサーバログイン
;#################################################################
sendln 'ssh username@ホスト名';←スケジュールサーバのホスト名またはIPを記入
wait 'password:'
sendln Password
wait ' ~]$'
;#################################################################
;スケジュールサーバログイン終了
;#################################################################
;#################################################################
;ホストリスト読み込み~ログインのループ開始
;#################################################################
fileopen fhandle 'D:¥temp¥work¥ttmacro¥list¥swactionlist.txt' 0

:loop
filereadln fhandle line
if result goto fclose

jobactionctrl = '/opt/FJSVJOBSC/bin/jobschcontrol '
strconcat jobactionctrl line
strconcat jobactionctrl ' start -sys 1';←サブシステム番号(末尾の1)は自分の環境に合わせて変えましょう

sendln jobactionctrl
wait' ~]$'
goto loop
endif

:fclose
fileclose fhandle

;#################################################################
;ループ終了
;#################################################################

;#################################################################
;終了メッセージ出力
;#################################################################

sendln 'echo MISSION COMPLETED'
wait' ~]$'
sendln 'exit'
wait' ~]$'
sendln 'exit'
;#################################################################

tera term macroリスト

メニュー

ページのトップへ戻る