メインコンテンツまでスキップ

Script Manager

Script Managerは、Infrastructure > Hostに登録されHost Agentがインストールされたサーバーを対象にスクリプトを直接作成して実行し、サーバーごとの実行結果を1つの画面で確認できる画面です。WindowsとLinux/Unixサーバーの両方に対応しています。

左側メニューで Tool > Script Manager を選択してください。

Script Manager 全体画面

注意

Script Managerは対象サーバーでコマンドを直接実行します。誤ったコマンドはデータ損失やシステム停止につながる恐れがあるため、実行前にコマンド内容を必ず再確認し、重要なデータは事前にバックアップしておいてください。実行結果についての責任はユーザー本人にあります。

画面は OS Type フィルターと Script List、スクリプト作成・実行領域、Result 領域の4つの部分で構成されています。

OS Typeを切り替えて対象OSを選択する​

左上の OS Type で Windows または Linux / Unix を選択します。OS Typeを切り替えると、Script List と Target List に表示される対象が該当OSでフィルタリングされ、スクリプトエディターのデフォルトテンプレートと Host Encoding Type のデフォルト値も一緒に変わります。

  • Windows: バッチ(.bat)構文のテンプレート(@echo off、%ERRORLEVEL%)が入力され、Host Encoding Typeのデフォルト値は EUC-KR です。
  • Linux / Unix: シェルスクリプト構文のテンプレート(#!/bin/sh、$?)が入力され、Host Encoding Typeのデフォルト値は UTF-8 です。

Script Listでスクリプトをフォルダ別に管理する​

Script List パネルには、Private(個人)フォルダと Public(共用)フォルダの下にスクリプトがフォルダ構造で整理されています。

  • [New Script]: 新しいスクリプト作成画面を開きます。
  • 上部の検索欄: スクリプト名またはフォルダ名でフィルタリングします。
  • Script I shared: チェックすると、自分が共有(Publicフォルダに保存)したスクリプトのみを表示します。
  • [Create Folder]: 新しいフォルダを作成します。

フォルダやスクリプト項目にマウスを乗せると、右側にコンテキストアイコンが表示されます。

  • フォルダ: 下位フォルダの作成、フォルダの複製、名前変更、削除
  • スクリプト: 複製、編集(ポップアップで開く)、削除

Target Listでスクリプトを実行するサーバーを選択する​

Target List には、現在のOS Typeに該当するサーバーがグループ別に表示されます。チェックボックスでサーバーを1つ以上選択すると、下部の Selected に選択したサーバーがタグとして一覧表示され、右側の [Run Script] ボタンが有効になります。

Target Listでサーバーを選択してスクリプトを作成した画面

  • 上部の Search 入力欄: サーバー名でフィルタリングします。
  • All チェックボックス: 表示されているすべてのサーバーを一括で選択/解除します。

複数のサーバーを同時に選択すると、同一のスクリプトをすべてのサーバーに並行実行し、サーバーごとの結果をResult領域で一度に比較できます。

スクリプトを作成して実行する​

中央のエディターにスクリプトを入力します。新しいスクリプトを開くと、OS Typeに合わせたデフォルトテンプレートが入力されるため、your_command の部分だけを目的のコマンドに変更すればよいです。

  • Script Timeout: 指定した時間を超過すると、実行中のスクリプトをタイムアウト処理します。トグルをオフにすると、時間制限なく実行されます。
  • Host Encoding Type: 対象サーバーでスクリプトを実行する際に使用する文字エンコーディングです。
  • Your Recent Script: 最近実行したスクリプトの一覧です。現在選択されているOS Typeと同じスクリプトのみが表示されます。

[Run Script] をクリックすると確認ポップアップが表示されます。

スクリプト実行確認ポップアップ

[OK] をクリックすると、選択したすべてのサーバーでスクリプトが実行され、実行直後にResult領域に行が追加されます。

参考

v3.0.27以上では、スクリプト実行結果の最大長が 65,536 byte に制限されます。

実行結果を確認する​

スクリプトの実行が終わると、Result 領域にサーバーごとの実行結果が表示されます。

Script Manager 実行結果画面

  • Execution Result: 実行状態を表します。正常終了すると Finished、スクリプトエラーや対象への接続失敗時は Failed、ユーザーが直接中断すると Stopped、Script Timeoutに指定した時間内に応答がないと Timeout と表示されます。
  • Action: Retry で失敗または中止されたスクリプトを再実行し、Stop で実行中のスクリプトを中止します。右上の [Retry All] をクリックすると、失敗・中止されたすべての項目を一括で再実行します。
  • Response Output の [New Window] をクリックすると、該当サーバーの実行結果メッセージをポップアップで確認できます。

Response Output ポップアップ

上部の Enter filter. 入力欄にテキストを入力すると、列の値を基準に結果をすばやく絞り込めます。

参考

Result領域の Execution ID、Message、Execution Result などの列ラベルと状態値は、English/日本語のどちらの言語で接続しても英語で表示されます。

スクリプトを保存する​

作成したスクリプトを [Save] または [Save As…] で保存すると、ポップアップが表示されます。

Save Script ポップアップ

  • Name: スクリプト名を入力します。
  • Location: 保存するフォルダをツリーから選択します。[Create Folder] で保存場所に新しいフォルダを作成することもできます。
  • Share Script: 有効にするとPublicフォルダにも一緒に保存され、他のユーザーが照会できます。

スクリプト作成ルール​

exemONEで実行するスクリプトは、最後の行に必ず xmReturn を出力してはじめて正常終了として処理されます。

xmReturn形式

xmReturn {終了コード} {メッセージ}
- 終了コード: 必須
- メッセージ: 任意

Windows例

@echo off
echo Hello from Script Manager
set "return_value=%ERRORLEVEL%"
if %return_value%==0 (
echo xmReturn %return_value%
) else (
echo xmReturn %return_value% Error
)

Linux / Unix例

#!/bin/sh
echo Hello from Script Manager
return_value=$?
if [ $return_value = 0 ]; then
echo xmReturn $return_value
else
echo xmReturn $return_value Error
fi