日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

プリタスクスクリプト、ポストタスクスクリプト、ポリシースクリプトの作成

寄稿者 このページの PDF をダウンロード

SnapManager では、前処理アクティビティ、後処理アクティビティ、およびバックアップ、リストア、クローン操作のポリシータスク用のスクリプトを作成できます。SnapManager 処理の前処理アクティビティ、後処理アクティビティ、およびポリシータスクを実行するには、スクリプトを正しいインストールディレクトリに配置する必要があります。

  • プリタスクおよびポストタスクスクリプトの内容 *

すべてのスクリプトには、次のものが含まれている必要

  • 特定の操作(チェック、説明、実行)

  • (任意)定義済みの環境変数

  • 特定のエラー処理コード(リターンコード( rc ))

注記 スクリプトを検証するには、正しいエラー処理コードを含める必要があります。

プリタスクスクリプトは、 SnapManager の処理を開始する前にディスクスペースをクリーンアップするなど、さまざまな目的に使用できます。また、ポストタスクスクリプトを使用して、 SnapManager の処理を完了するための十分なディスクスペースがあるかどうかを見積もることもできます。

  • ポリシータスクスクリプトの内容 *

check 、 describe 、 execute などの特定の操作を使用せずに、ポリシースクリプトを実行できます。このスクリプトには、事前定義された環境変数(オプション)と特定のエラー処理コードが含まれています。

ポリシースクリプトは、バックアップ、リストア、およびクローニングの各処理の前に実行されます。

  • サポートされている形式 *

プリスクリプトやポストスクリプトとしては、 .cmd 拡張子を持つコマンドファイルを使用できます。

注記 シェルスクリプトファイルを選択すると、 SnapManager 処理が応答しません。この問題を解決するには、プラグインディレクトリにコマンドファイルを指定してから、 SnapManager 処理を再度実行する必要があります。
  • スクリプトインストールディレクトリ *

スクリプトをインストールするディレクトリによって、スクリプトの使用方法が異なります。ディレクトリにスクリプトを配置し、バックアップ、リストア、クローニングの処理の前後にスクリプトを実行できます。バックアップ、リストア、またはクローニングの処理を指定する場合は、このスクリプトを表に指定されたディレクトリに配置し、オプションとして使用する必要があります。

注記 SnapManager 処理でスクリプトを使用する前に、 plugins ディレクトリに実行可能権限があることを確認する必要があります。

アクティビティ

バックアップ

リストア

クローン

前処理中です

<default_installation_directory>\plugins\backup\create\pre

<default_installation_directory>\plugins\restore\create\pre

<default_installation_directory>\plugins\clone\create\pre

後処理

<default_installation_directory>\plugins\backup\create\post

<default_installation_directory>\plugins\restore\create\post

<default_installation_directory>\plugins\clone\create\post という名前を指定します

ポリシーベース

<default_installation_directory>\plugins\backup\create\policy

<default_installation_directory>\plugins\restore\create\policy

<default_installation_directory>\plugins\clone\create\policy

  • サンプルスクリプトの場所 *

次の例は、インストールディレクトリパスで利用できるバックアップ処理とクローン処理の実行前スクリプトと実行後スクリプトを示しています。

  • <default_installation_directory>\plugins\examples\backup\create\pre

  • <default_installation_directory>\plugins\examples\backup\create\post と指定します

  • <default_installation_directory>\plugins\examples\clone\create\pre

  • <default_installation_directory>\plugins\examples\clone\create\post を指定します

  • スクリプトで変更できるもの *

新しいスクリプトを作成する場合は 'describe 操作と execute 操作のみを変更できます各スクリプトには、 context 、 timeout 、および parameter の各変数が含まれている必要があります。

スクリプトの describe 関数で説明した変数は、スクリプトの開始時に宣言する必要があります。新しいパラメータ値を parameter=() に追加し、実行関数のパラメータを使用できます。

サンプルスクリプト

次に、 SnapManager ホストのスペースを見積もるための、ユーザ指定の戻りコードを含むサンプルスクリプトを示します。

@echo off
REM $Id: //depot/prod/capstan/Rcapstan_ganges/src/plugins/windows/examples/clone/create/policy/validate_sid.cmd#1 $
REM $Revision: #1 $ $Date: 2011/12/06 $
REM
REM

set /a EXIT=0

set name="Validate SID"
set description="Validate SID used on the target system"
set parameter=()

rem reserved system IDs
set INVALID_SIDS=("ADD" "ALL" "AND" "ANY" "ASC" "COM" "DBA" "END" "EPS" "FOR" "GID" "IBM" "INT" "KEY" "LOG" "MON" "NIX" "NOT" "OFF" "OMS" "RAW" "ROW" "SAP" "SET" "SGA" "SHG" "SID" "SQL" "SYS" "TMP" "UID" "USR" "VAR")

if /i "%1" == "-check" goto :check
if /i "%1" == "-execute" goto :execute
if /i "%1" == "-describe" goto :describe

:usage:
	echo usage: %0 "{ -check | -describe | -execute }"
	set /a EXIT=99
	goto :exit

:check
	set /a EXIT=0
	goto :exit

:describe
	echo SM_PI_NAME:%name%
	echo SM_PI_DESCRIPTION:%description%
	set /a EXIT=0
	goto :exit

:execute
	set /a EXIT=0

	rem SM_TARGET_SID must be set
	if "%SM_TARGET_SID%" == "" (
		set /a EXIT=4
		echo SM_TARGET_SID not set
		goto :exit
	)

	rem exactly three alphanumeric characters, with starting with a letter
	echo %SM_TARGET_SID% | findstr "\<[a-zA-Z][a-zA-Z0-9][a-zA-Z0-9]\>" >nul
	if %ERRORLEVEL% == 1 (
		set /a EXIT=4
		echo SID is defined as a 3 digit value starting with a letter. [%SM_TARGET_SID%] is not valid.
		goto :exit
	)

	rem not a SAP reserved SID
	echo %INVALID_SIDS% | findstr /i \"%SM_TARGET_SID%\" >nul
	if %ERRORLEVEL% == 0 (
		set /a EXIT=4
		echo SID [%SM_TARGET_SID%] is reserved by SAP
		goto :exit
	)

	goto :exit



:exit
	echo Command complete.
	exit /b %EXIT%