ページの先頭行へ戻る
ETERNUS SF XL-DATA/MV 13 使用手引書
FUJITSU Storage

4.1.3 フィルターコマンドの呼出し

XLデータムーバのデーモンまたはサービスには、転送データをフィルタリングするための利用者作成プログラム(以降、「フィルターコマンド」と呼ぶ)を呼び出す機能があります。

フィルターコマンドは、用途に応じて利用者が作成します。フィルターコマンドは、例えば以下のような用途に利用できます。

4.1.3.1 フィルターコマンドの使用イメージ

フィルターコマンドを使用した場合のイメージは以下のとおりです。

フィルターコマンド未使用時のイメージ

フィルターコマンド使用時のイメージ

注意

KJUAMFTFのSEND機能で、区切り文字付加機能と、フィルターコマンド実行の両方を同時に実施する場合、レコード単位に区切り文字が付加されたデータが、フィルターコマンドの入力データとなります。

また、KJUAMFTFのRECEIVE機能で、区切り文字削除機能と、フィルターコマンド実行の両方を同時に実施する場合、フィルターコマンドで加工されたデータより、区切り文字が削除されます。

4.1.3.2 フィルターコマンドの入出力

フィルターコマンドの入出力について説明します。

UNIX/IAサーバへの送信時に使用するフィルターコマンド

フィルターコマンドの入出力については、以下に従って作成してください。

データ出力を標準出力にするかファイル出力にするかは、KJUAMFTF(SEND)制御文で指定します。

XLデータムーバのデーモンまたはサービスは、クライアントシステムからデータ転送用ボリュームを経由して送ってきたデータを、フィルターコマンドの標準入力に渡します。

フィルターコマンドの出力には、上記のように標準出力ファイル出力の2つがあります。この出力方法については、データを転送するバッチジョブ(KJUAMFTF)実行時の指定と、フィルターコマンドの作りを合わせておく必要があります。

デーモンまたはサービスとフィルターコマンドの、データの流れと関係を以下に示します。

標準出力の場合

ファイル出力の場合

UNIX/IAサーバからの受信時に使用するフィルターコマンド

フィルターコマンドの入出力については、以下に従って作成してください。

データ入力を標準入力にするかファイル入力にするかは、KJUAMFTF(RECEIVE)制御文で指定します。

XLデータムーバのデーモンまたはサービスは、フィルターコマンドにデータを入力させる方法として、上記の標準入力ファイル入力 の2つがあります。

この入力方法については、データを転送するバッチジョブ(KJUAMFTF)実行時の指定と、フィルターコマンドの作りを合わせておく必要があります。

また、デーモンまたはサービスは、フィルターコマンドの標準出力よりフィルタリングされたデータを受け取り、そのデータをデータ転送用ボリュームを経由して、クライアントシステムに渡します。

デーモンまたはサービスとフィルターコマンドの、データの流れと関係を以下に示します。

標準入力の場合

ファイル入力の場合

4.1.3.3 フィルターコマンド復帰コード変換機能

フィルターコマンドの復帰コードを利用者の用途に応じて任意の復帰コードに変換し、グローバルサーバ側へジョブの復帰コードとして変換できる機能があります。この機能を利用するには、フィルターコマンド復帰コード変換ファイルを作成する必要があります。

ファイルの作成方法については、フィルターコマンド復帰コード変換ファイルの作成を参照してください。

4.1.3.4 動作環境

フィルターコマンドが実行されるときの環境(環境変数等)は、UNIX/IAサーバ側のXLデータムーバが起動されたときの環境に依存します。

したがって、コマンドは絶対パス名で指定してください

デーモンの場合

フィルターコマンドは、必ず Bシェル 配下で起動されます。

フィルターコマンドを実行するために動作環境の設定が必要な場合は、コマンドを起動するシェルスクリプトを作成し、そのスクリプトの中で必要な定義をしてください。

XLデータムーバからはこのスクリプトを呼び出すようにしてください。

スクリプト例

/home/mftf/bin 配下のddコマンドを利用したい場合の環境変数PATHの変更例

#!/bin/sh

PATH=/home/mftf/bin:$PATH       (*1)
export PATH                     (*1)

dd conv=ascii
exit $?

*1:コマンド実行に必要な環境を設定。

注意

フィルターコマンドをシェルスクリプトにし、そのシェルスクリプト内に #!.csh を指定した場合、フィルターコマンド実行時に .cshrc が実行されます。

この場合、.cshrc 内に標準出力に出力するようなコマンド等の命令が、記述していないことを確認してください。

記述した場合、.cshrc 内で標準出力に出力したものも、すべて転送データとして転送されます。

サービスの場合

フィルターコマンドが実行されるときの環境(環境変数等)は、IAサーバ側のXLデータムーバサービスが起動されたときの環境に依存します。

また、フィルターコマンドを実行するために動作環境の設定が必要な場合は、上記のデーモンのときと同様に、コマンドを起動するバッチファイルを作成し、そのバッチファイルの中で必要な定義をしてください。

XLデータムーバからはこのバッチファイルを呼び出すようにしてください。