プレスクリプトおよびポストスクリプト
Microsoft VSSをサポートしないアプリケーションを実行しているVMをバックアップまたはレプリケートする場合、Veeam Backup & Replicationに、VMに対してカスタムのスクリプトを実行するように指示できます。たとえば、プレスクリプトはVeeam Backup & ReplicationがVMスナップショットをトリガーする前に、VMゲストOS上でファイルシステムとアプリケーションデータを静止させ、VMを整合性のある状態にすることができます。VMスナップショットが作成された後、ポストスクリプトはVMおよびアプリケーションを初期状態にすることができます。
プレスクリプトとポストスクリプトは次の種類のジョブに使用できます。
- バックアップジョブ
- レプリケーションジョブ
- VMコピージョブ
スクリプトは事前に作成しておく必要があります。ジョブ設定でそのスクリプトへのパスを指定する必要があります。スクリプト実行設定は、ジョブに含まれるオブジェクトに応じて、VMごとまたはコンテナごとに構成することができます。
ジョブが開始されると、Veeam Backup & ReplicationはVMゲストOSにスクリプトをアップロードして、ジョブ設定の[Guest OS credentials]セクションで指定したアカウントで実行します。
- Veeam Backup & Replicationがネットワーク経由でVMゲストOSに接続できない場合、Microsoft Windows VMのスクリプトはネットワーク経由またはVIX API/vSphere Webサービス経由で\\<vmname>\admin$にアップロードされます。スクリプトはC:\Windowsディレクトリで実行されます。
- Linux VMのスクリプトは、SSHまたはVIX API/vSphere Webサービス(SSH接続が失敗した場合)経由でアップロードされます。スクリプトは /tmp ディレクトリ で実行されます。RenciまたはRebex SSHライブラリを使用していて、[Guest OS credentials]で指定したユーザーに対して[Elevate account privileges automatically]チェックボックスが選択されている場合、スクリプトは最初に/home/<username>にアップロードされ、次に/tmpに移行され ます。
「0」が返された場合、スクリプトは正常に実行されたとみなされます。
スクリプト実行のためのデフォルトの時間は10分です。タイムアウトになるまでにスクリプトが実行できなかった場合、Veeam Backup & Replicationにより、ジョブ・セッションでのエラー・メッセージと、スクリプト実行中に発行されたエラーまたは警告メッセージが表示されます。
Microsoft WindowsとLinuxのVMには、プレスクリプトとポストスクリプトを使用できます。
- Microsoft Windows VMの場合、Veeam Backup & Replicationは、EXE、BAT、CMD、WSF、JS、VBS、およびPS1ファイル形式のスクリプトをサポートします。
- Linux VMの場合、Veeam Backup & ReplicationはSHファイル型式のスクリプトをサポートします。
Veeam Backup & Replicationには、プレスクリプトおよびポストスクリプトについて次のような制限があります。
- プレスクリプトまたはポストスクリプトの実行中、ジョブを停止することはできません。スクリプトがハングアップした場合、Veeam Backup & Replicationは10分間待ってからジョブを終了します。
- 相互に依存関係のある複数のスクリプトを実行する場合、それらを手動でVMゲストOSにアップロードする必要があります。たとえば、script1.batがあり、それに続いてscript2.bat、script3.bat、およびscript4.batが起動されるとします。この場合、ジョブプロパティ内でscript1.batへのパスを指定し、script2.bat、script3.bat、およびscript4.batをVMゲストOSにアップロードする必要があります。
- Linuxスクリプトのエラー出力に標準エラー(STDERR)ストリームを使用しないでください。STDERRを含むスクリプトは、Veeam Backup & Replicationで失敗を引き起こします。