ETERNUS SF XL-DATA/MV 使用手引書 |
目次
索引
![]() ![]() |
第5章 UNIX/IAサーバ主導のデータ転送 | > 5.1 機能説明 | > 5.1.8 フィルターコマンドの呼出し |
フィルターコマンドの入出力に関しては、以下に従って作成してください。
UNIX/IAサーバのサーバシステム側でフィルターコマンドを実行する場合について説明します。
クライアントシステムからサーバシステムへのデータを送信する時(mftfsendコマンド起動時)、使用するフィルターコマンドとは以下の方法でデータを受け渡します。
データ入力: 標準入力
データ出力: 標準出力、またはファイル出力XLデータムーバのデーモンやサービスは、クライアントシステムがデータ転送用ボリュームを経由して送ってきたデータを、フィルターコマンドの標準入力に渡します。
フィルターコマンドの出力には、上記のように標準出力とファイル出力の二つがあり、データ転送コマンド実行時の指定と、フィルターコマンドの作りと合わせておく必要があります。
デーモン/サービスとフィルターコマンドとの、データの流れの関係について以下に示します。
[標準出力の場合]
[ファイル出力の場合]
転送コマンド(mftfsendコマンド)起動時に、データ出力を標準出力にするかファイル出力にするかは、環境変数に指定した「フィルターコマンド」の値の内、オプション部分に、転送コマンドに指定した「格納先ファイル名」と同じ文字列があるかないかで決定されます。
同じ文字列があった場合にはファイル出力になり、なかった場合には標準出力になります。
この指定により、デーモン/サービスの動作が上記のように変わります。
![]()
ファイル出力でフィルターコマンドを使用した場合、転送先ファイルはXLデータムーバのデーモンまたはサービスが作成してから、フィルターコマンドを呼び出します。
よって、フィルターコマンド内で、転送先ファイルの存在を意識している場合には注意が必要です。
クライアントシステムがサーバシステムのデータを受信する時(mftfrecvコマンド起動時)、使用するフィルターコマンドとは以下の方法でデータを受け渡します。
データ入力: 標準入力、またはファイル入力
データ出力: 標準出力XLデータムーバのデーモンやサービスは、フィルターコマンドにデータを入力させる方法として、上記の標準入力とファイル入力の二つを提供しています。
この入力方法については、データ転送コマンド実行時の指定と、フィルターコマンドの作りと合わせておく必要があります。
また、デーモンやサービスは、フィルターコマンドの標準出力よりフィルタリングされたデータを受け取り、そのデータをデータ転送用ボリュームを経由して、クライアントシステムに渡します。
デーモン/サービスとフィルターコマンドとの、データの流れの関係について以下に示します。
[標準入力の場合]
[ファイル入力の場合]
転送コマンド(mftfrecvコマンド)起動時に、データ入力を標準入力にするかファイル入力にするかは、環境変数に指定した「フィルターコマンド」の値の内、オプション部分に、転送コマンドに指定した「転送元ファイル名」と同じ文字列があるかないかで決定されます。
同じ文字列があった場合にはファイル入力になり、なかった場合には標準入力になります。
この指定により、デーモン/サービスの動作が上記のように変わります。
クライアントシステム側でフィルターコマンドを実行するには、転送コマンド実行時に以下のようにシェルのパイプ等を使用して実行することで可能となります。
転送コマンドのオプションの指定については転送コマンドを参照してください。[mftfsendコマンドの場合 (UNIXサーバの場合)]
フィルターコマンド | mftfsend サーバシステム側格納ファイル名 [mftfrecvコマンドの場合 (IAサーバの場合)]
mftfrecv.exe サーバシステム側転送元ファイル名 | フィルターコマンド
以下のように mftfsendコマンド の標準入力に、フィルタリングしたデータを渡すように、フィルターコマンドを作成してください。
以下のように mftfrecvコマンド は標準出力に受信したデータを出力するため、そのデータを入力してフィルタリングするように、フィルターコマンドを作成してください。
mftfrecvコマンドを使用し、クライアントシステム側でフィルターコマンドを起動させる場合、mftfrecvコマンドがデータを標準出力に出力中に、フィルターコマンドが終了してしまうと、mftfrecvコマンドは「内部エラー (システムメッセージ = pipeクローズ)」が発生し異常終了します。
目次
索引
![]() ![]() |