製品コラム
セイテクエンジニアのブログ 製品コラム Windows Serverバックアップの自動運用-Job Director R16活用例: おじさんのブログと連動
2024年06月19日配信
2025年04月25日更新
執筆者:セイ・テクノロジーズ エバンジェリスト
Job Director R16(以下、Job Director)は、タスクスケジューラでは物足りないが、統合運用管理ツールでは高機能すぎるというお悩みを抱えるシステム管理者にぴったりなジョブ管理ツールです。それ自身、スケジュール機能を備えたWindowsの機能や他社ツールは多いですが、それらの機能やツールをコマンドラインで制御できれば、Job Directorの柔軟なジョブネットワークとカレンダ/スケジュール定義に基づいて、運用管理タスクのスケジュールを一元化できます。今回は、「かつて山市良と呼ばれていたおじさんのブログ」で最近紹介された、Windows Serverバックアップのスクリプトを、Job Directorで運用する活用例を紹介します。
メモ. 明日のためのスクリプト: Windows Serverバックアップ
Job Directorでは、[START]-[END]の間にさまざまな部品オブジェクトを配置し、設定していくことで、さまざまな処理フローをジョブネットワークとして定義し、スケジュール実行させることができます。
画面1は、WBADMINコマンドによる単発バックアップを実行するためのジョブネットワークの定義です。「単位ジョブ」部品「STARTBACKUP」では、スクリプトとしてWBADMINの単発バックアップのコマンドラインを1行だけ記述しています。WBADMINコマンドは成功時「0」、失敗時0以外の終了コードを返して終了します。その終了コードを「条件分岐」部品を使って2つのフローに分岐させ、成功時はそのままジョブネットワークの最後まで進みます。一方、バックアップが失敗した場合は、「コンティニュー」部品を使って、指定した回数(この例では1回)だけ単位ジョブ「STARTBACKUP」をリトライするように定義しています。また、「コンティニュー」部品の手前には単位ジョブ「SLEEP」を配置し、スクリプトとして「powershell.exe sleep 1800」を実行させ、30分(1800秒)待機してからリトライするようにしています。
画面1 WBADMINコマンドによるWindows Serverバックアップ(単発バックアップ)のジョブネットワーク作成例
ジョブネットワークができたので、「即時投入」してテストしてみましょう(画面2)。テストのためスリープ時間は30分(1800秒)ではなく、3分(180秒)に変更しています。
画面2 作成したジョブネットワークを即時投入してテストする
ジョブネットワークの「即時投入」およびスケジュール実行の状況は、トラッカで追跡することができます。実行中のジョブネットワークの状況をリアルタイムで追跡することもできますし、過去の実行結果を参照することもできます。
画面3は、バックアップが成功したときのトラッカを示しています。トラッカは単位ジョブ「STARTBACKUP」が成功したことを示しており、終了していることを示しています。単位ジョブ「STARTBACKUP」の詳細を開くと、「詳細情報」タブで終了コードを、「出力結果」タブでコマンドが出力した標準出力を確認することができます。このように、Job Directorを使用すると、コマンド出力の結果を取得する仕組み(例えば、標準出力のファイルへのリダイレクトなど)を用意することなく、実行結果を履歴として保存、確認することができます。そのため、スクリプトを簡素化できるという利点もあります。
画面3 バックアップ用のジョブネットワークが成功したことを示すトラッカ
バックアップが失敗したときのトラッカも見てみましょう。画面4は、実行中のジョブネットワークのトラッカをリアルタイムに表示したものです。初回のバックアップを失敗させるため、バックアップ用ドライブをオフラインにした状態でジョブネットワークを開始しました。トラッカは最初のバックアップが失敗したことを示しています(画面4の左)。その後、条件分岐に従って単位ジョブ「SLEEP」で待機します。この間に、バックアップ用ディスクをオンラインに戻します。すると、コンティニュー部品で再び単位ジョブ「STARBACKUP」に戻り、バックアップが始まります(画面4の中央のトラッカ)。バックアップのリトライは成功し、ジョブネットワークが終了します(画面4の右のトラッカ)
画面4 初回のバックアップを意図的に失敗させたときのトラッカの様子
Windows Serverバックアップは、それ自体、スケジュール機能を持ちますが、1日の実行回数(1回以上)とその開始時刻を指定する単純なスケジュール設定しかできません(画面5)。
画面5 Windows Serverバックアップのスケジュール設定では複雑なスケジュールは設定できない
一方、Job Directorでは、 運用日に関してのひな型となる「稼働日カレンダ」定義と、そのひな型を詳細にカスタマイズする「スケジュール」定義の組み合わせで、ジョブネットワークの運用を柔軟なスケジュール設定できます(画面5)。稼働日カレンダ定義は自社の稼働日に合わせて独自に作成することがでます。また、Job Directorには、日本の祝祭日が設定されたJapanカレンダが付属しており、それを利用することもできます。
画面6 Job Directorの柔軟なスケジュール設定。稼働日カレンダとスケジュールを組み合わせて、細かく制御できる
つまり、バッチ/スクリプト化できる運用管理タスクは、Job Directorのジョブネットワークでその状況を追跡でき、さらに柔軟なスケジュール機能を用いて一元管理することができるのです。