preschedulecmd および postschedulecmd スクリプトからの戻りコード
preschedulecmd および postschedulecmd オプションの使用時に表示される可能性がある戻りコードについて説明します。





- preschedulecmd オプションで指定されたコマンドがゼロ以外の戻りコードで終了した場合、 IBM® Storage Protect はコマンドが失敗したと想定します。 この場合、スケジュールされたイベントも、任意の postschedulecmd コマンドまたは postnschedulecmd コマンドもいずれも実行されません。 管理コマンド query event に format=detailed オプションを指定すると、イベントが戻りコード 12 で失敗したことが表示されます。
- postschedulecmd オプションで指定されたコマンドがゼロ以外の戻りコードで終了した場合、 IBM Storage Protect はコマンドが失敗したと見なします。 format=detailed オプションを指定した管理 query event コマンドは、イベントが戻りコード 8 で完了したことを示します。 この例外は、スケジュールされた操作が、より高い戻りコードで完了した場合に発生します。この場合、より高い戻りコードが優先されます。 したがって、スケジュールされた操作が戻りコード 0 または 4 で完了し、 postschedulecmd コマンドが失敗した場合、管理 query event コマンドは、イベントが戻りコード 8 で完了したことを示します。 スケジュールされた操作が戻りコード 12 で完了すると、戻りコードが優先され、query event は、イベントが戻りコード 12 で失敗したことを示します。



コマンドの戻りコードを解釈する際、 IBM Storage Protect では、0 を成功、それ以外を失敗とみなします。 この動作は業界で一般に受け入れられていますが、100% というわけではありません。 例えば、
widget コマンドの開発者は、widget が正常に実行された場合に、戻りコード 3 で終了させるかもしれません。 したがって、
preschedulecmd または postschedulecmd コマンドがゼロ以外の戻りコードで終了しても成功である場合もあります。 IBM Storage Protect がこのようなコマンドを失敗として扱わないようにするには、これらのコマンドをスクリプトでラップし、コマンドの戻りコードを正しく解釈するようにスクリプトをコーディングします。 スクリプトは、コマンドが成功した場合に戻りコード 0 で終了します。失敗した場合はゼロ以外の戻りコードで終了します。 例えば、widget を実行するスクリプトのロジックは次の例のようになります。
コマンドの戻りコードを解釈する際、 IBM Storage Protect では、0 を成功、それ以外を失敗とみなします。 この動作は業界で一般に受け入れられていますが、100% というわけではありません。 例えば、widget.exe コマンドの開発者は、widget.exe が正常に実行された場合に、戻りコード 3 で終了させるかもしれません。 したがって、
preschedulecmd または postschedulecmd コマンドがゼロ以外の戻りコードで終了しても成功である場合もあります。 IBM Storage Protect がこのようなコマンドを失敗として扱わないようにするには、これらのコマンドをスクリプトでラップし、コマンドの戻りコードを正しく解釈するようにスクリプトをコーディングします。 スクリプトは、コマンドが成功した場合に戻りコード 0 で終了します。失敗した場合はゼロ以外の戻りコードで終了します。 例えば、widget.exe を実行するスクリプトのロジックは次の例のようになります。




run 'widget'
if lastcc == 3
exit 0
else
exit 1

run 'widget.exe'
if lastcc == 3
exit 0
else
exit 1