スクリプト内の指定した任意のポイント (位置) からユーザースクリプト処理を再開する場合は、以下の同期コマンドをユーザースクリプトに入れる必要があります。
initcmdsync(1M) は、特定のスクリプトと関連データを特定するコマンド同期記述子を作成します。
これらの記述子は、自動フェイルオーバーの後に再起動するユーザースクリプトを判別するコマンド同期リストに記載されます。
savecmdsync(1M) は、スクリプトが再起動できるマーカーポイントを指定します。
cancelcmdsync(1M) は、コマンド同期リストからコマンド同期記述子を削除します。
同期のためにスクリプトを初期化してコマンド同期リストからコマンドを削除するには、各スクリプトに initcmdsync と cancelcmdsync コマンドを入れる必要があります。同期コマンドの詳細は、cmdsync(1M) マニュアルページを参照してください。
これは、経験豊富なプログラマ向けの同期コマンドです。回復のためにスクリプトを準備するには、この節で説明した同期コマンドの代わりに runcmdsync(1M) コマンドを使用することができます。ただし、runcmdsync(1M) コマンドは指定のマーカーポイントからではなく最初から再実行するようにスクリプトを準備します。
以下の手順は、これらの同期コマンドの使用方法です。
SSP フェイルオーバーの後やシングル SSP 構成では、SSP フェイルオーバーは使用不可です。フェイルオーバーが使用不可である場合は、同期コマンドを含むスクリプトによって、プラットフォームログファイルに対するエラーメッセージが生成され、ゼロ以外の終了コードが返されます。これらのエラーメッセージは、無視することもできます。
ユーザースクリプトに以下のように入力し、スクリプトを識別するコマンド同期記述子を作成します。
initcmdsync script_name [parameters] |
ここで、script_name はスクリプト名で、parameters は指定スクリプトに関連するオプションです。initcmdsync コマンドから返される出力は、コマンド同期記述子として機能します。
ユーザースクリプトに以下のように入力し、処理を再開できる実行ポイントを指定します。
savecmdsync -M identifier cmdsync_descriptor |
ここで、-M identifier はスクリプトを再起動できる実行ポイントを指定する正の整数で、cmdsync_descriptor は initcmdsync コマンドによって出力されるコマンド同期記述子です。