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

5.2.2 mftfrecvコマンド

構文

UNIXサーバの場合
mftfrecv  [ -t clientfile [ -d [ -u ] | -m [ -u ] | -p ] ] serverfile
IAサーバの場合
mftfrecv.exe  [ -t clientfile [ -d [ -u ] | -m [ -u ] | -p ] ] serverfile

説明

サーバシステムから serverfile で指定されたファイル/データセットに格納されているデータを、クライアントシステムに受信し、-t に続く clientfile で指定された受信先ファイルへ格納、あるいは、標準出力に出力します。

サーバシステムがUNIX/IAサーバの場合、サーバシステム上の「利用者登録ファイル」に記述されているユーザ名のどれかと一致するユーザでデータの受信を行ってください。

上記に関する具体的な設定方法等については、データ転送用利用者登録を参照してください。

なお、本コマンドは以下のユーザが使用できます。

上記以外のユーザが使用した場合、“「Administrators」グループ所属のユーザではない”との理由でエラーになります。

また、差分ファイル転送機能を使用する場合は、管理者資格が必要なため以下の条件を満たす必要があります。

オプション

-t clientfile

クライアントシステム上の格納先ファイル名を指定します。

clientfileで指定するファイル名は、クライアントシステムによって以下のように指定します。

クライアントシステム

規則

UNIX

Solaris OS

ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。

HP-UX

ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。

AIX

ASCIIコードで1022バイトまでのファイル名を絶対パスで指定します。

Linux

ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。

IA

ASCIIコードで260バイトまでのファイル名を絶対パスで指定します。

クライアントシステム上に clientfile が存在しない場合、新しくこのファイルおよびディレクトリを作成します。

作成したファイルやディレクトリのセキュリティおよびパーミッションは、本コマンドの実行ユーザの権限となります。

また、 clientfile が存在する場合、このファイルにデータを上書きします。

このオプションが省略された場合、標準出力に受信データを出力します。また、このパラメータが複数指定された場合、最後に指定されたパラメータが有効になります。

[13.0]
-d [ -u ] | -m [ -u ] | -p

差分ファイル転送機能を利用する場合の転送オプションを指定します。

-d [ -u ]

差分ファイル転送を行う場合に指定します。

送信元ファイルの最終更新日時と送信先ファイルの最終更新日時が一致しない場合に、データの転送を行います。

送信元ファイルの最終更新日時と送信先ファイルの最終更新日時が一致した場合には、データの転送は行いません。

また、データの転送に関係なく、送信先ファイルのファイル情報および、ディレクトリ情報を送信元ファイルのファイル情報および、ディレクトリ情報に更新します。

ただし、-u オプションが指定された場合には、データの転送が行われない場合(送信元ファイルの最終更新日時と送信先ファイルの最終更新日時が一致した場合)に限り、送信先ファイルのファイル情報および、ディレクトリ情報の変更は行われません。

なお、データの転送が行われない場合には、復帰コード:1 で終了します。

-m [ -u ]

更新ファイル転送を行う場合に指定します。

送信元ファイルの最終更新日時が送信先ファイルの最終更新日時より新しい場合に、データの転送を行います。

送信元ファイルの最終更新日時と送信先ファイルの最終更新日時が一致した場合、もしくは、送信元ファイルの最終更新日時が送信先ファイルの最終更新日時より古い場合には、データの転送は行いません。

また、データの転送に関係なく、送信先ファイルのファイル情報および、ディレクトリ情報を送信元ファイルのファイル情報および、ディレクトリ情報に更新します。

ただし、-u オプションが指定された場合には、データの転送が行われない場合(送信元ファイルの最終更新日時と送信先ファイルの最終更新日時が一致した場合、もしくは、送信元ファイルの最終更新日時が送信先ファイルの最終更新日時より新しい場合)に限り、送信先ファイルのファイル情報および、ディレクトリ情報の変更は行われません。

なお、データの転送が行われない場合には、復帰コード:1 で終了します。

-p

ファイル情報/ディレクトリ情報転送を行う場合に指定します。

送信元ファイルの最終更新日時と送信先ファイルの最終更新日時の値に関係なく、データの転送を行います。

また、同時に、送信先ファイルのファイル情報および、ディレクトリ情報を送信元ファイルのファイル情報および、ディレクトリ情報に更新します。

なお、差分ファイル転送機能の説明については、差分ファイル転送機能を参照してください。

serverfile

サーバシステム上の受信元ファイル名/データセット名を指定します。複数のファイル名/データセット名を指定することはできません。

serverfile で指定するファイル名/データセット名は、サーバシステムによって以下のように指定します。

サーバシステム

規則・備考

UNIX

Solaris OS

ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。

HP-UX

ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。

AIX

ASCIIコードで1022バイトまでのファイル名を絶対パスで指定します。

Linux

ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。

IA

ASCIIコードで260バイトまでのファイル名を絶対パスで指定します。
ファイル名(絶対パス)を「 " 」(ダブルクォート)または「 ' 」(シングルクォート)で囲んでください。
ネットワークドライブ配下のファイルを受信することはできません。

MSPまたはOS/390

ASCIIコードで44バイトまでの順データセット名を指定します。英小文字は指定できません。
カタログ登録されている順データセットが対象となります。
指定データセットが存在しない場合には、新規に順データセットを作成しカタログ登録されます。

XSP

ASCIIコードで26バイトまでの順編成ファイル名を指定できます。英小文字は指定できません。
カタログ登録されている順編成ファイルが対象となります。
指定ファイルが存在しない場合には、新規に順編成ファイルを作成しカタログ登録されます。

環境変数

このコマンドを使用する場合に、以下の環境変数を指定して受信に関する設定を行うことができます。

サーバシステムがUNIX/IAサーバの場合

環境変数名

必須

概 要

MFTF_USER

サーバシステム側のユーザ名

MFTF_DEVICE

クライアントシステム側のキャラクタデバイス名(データ転送用ボリューム)

MFTF_CLLINECODE

クライアントシステム側の区切り文字コード

MFTF_SVLINECODE

サーバシステム側の区切り文字コード

MFTF_COMMAND

フィルターコマンド

サーバシステムがグローバルサーバの場合

環境変数名

必須

概 要

MFTF_USER

サーバシステム側のユーザ名

MFTF_PASSWORD

サーバシステム側のユーザのパスワード

MFTF_DEVICE

クライアントシステム側のキャラクタデバイス名(データ転送用ボリューム)

MFTF_CLLINECODE

クライアントシステム側の区切り文字コード

各環境変数について以下に詳しく説明します。

MFTF_USER

サーバシステムでのユーザ名を指定します。

指定できるユーザ名はASCIIコードで127バイト以内の文字列です。

ここに指定するユーザ名は、サーバシステムによって以下のように指定します。

サーバシステム

規則

UNIX

サーバシステムに登録されているユーザ名を指定します。

IA

"WINDOWS"(両端の""は不要)と指定します。

グローバルサーバ

サーバシステム上でRACF運用を行っている場合、この環境変数が有効になります。その場合にはRACFに登録されているユーザ名を指定します。英小文字は指定できません。

MFTF_PASSWORD

サーバシステムでのユーザ名に対するパスワードを指定します。

指定できるパスワードはASCIIコードで127バイト以内の文字列です。

この環境変数は受信元サーバがグローバルサーバの場合に有効となります。サーバシステムのRACFに登録されているユーザ名に対するパスワードを指定します。英小文字は指定できません。

MFTF_DEVICE

mftfrecvコマンドで使用するデータ転送用ボリュームのキャラクタデバイス名を64バイト以内で指定します。

この環境変数の値を複数指定することにより、複数のデバイス内より最も転送処理数の少ないデバイスを自動的に選択して転送を実施することができます。

複数のデバイスを指定する場合、各デバイスをUNIXサーバの場合は「 : 」(コロン)、IAサーバの場合は「 ; 」(セミコロン)で区切って指定します。

ここに指定するキャラクタデバイス名は、以下のキャラクタデバイス名を指定します。

UNIXサーバの場合

データ転送用ボリュームの絶対パス名を指定します。

Solaris OSの場合

host-adaptor-id=1 target-id=2 論理ユニット=3の場合

(論理ユニット全体が参照できるパーティションはs2です。)

setenv MFTF_DEVICE /dev/rdsk/c1t2d3s2

HP-UXの場合

host-adaptor-id=1 target-id=2 論理ユニット=3の場合

setenv MFTF_DEVICE /dev/rdsk/c1t2d3

AIXの場合

hdisk3 の場合

setenv MFTF_DEVICE /dev/rhdisk3

Linux(RHEL8以前)の場合

/dev/sda2 のデバイスを rawコマンド で /dev/raw/raw2 にバインドした場合

setenv MFTF_DEVICE /dev/raw/raw2

Linux(RHEL9以降)の場合

/dev/sda2 のデバイスにシンボリックリンクしたXLデータ専用デバイス名(/dev_mftf/dev2)とした場合

Setenv MFTF_DEVICE /dev_mftf/dev2
IAサーバの場合

ディスクユーティリティで選択した物理ディスク番号("Diskxx"のxx部分の数字)を"PHYSICALDRIVE"の後に追加した形で指定します。

その際に、物理ディスク番号の先頭が 0の場合 には 0をとった数字を指定する必要があります。

物理ディスク番号が1("Disk01")の場合

set MFTF_DEVICE=PHYSICALDRIVE1
MFTF_CLLINECODE

入出力データのレコード(1行)を意識して転送する場合(テキスト転送)、clientfile のレコード(1行)の終端を識別する区切り文字の文字コードを指定します。

この環境変数を指定すると、区切り文字付加機能または区切り文字変換機能を使用した転送となります。

UNIX/IAサーバの場合

区切り文字変換機能を使用した転送となります。

グローバルサーバの場合

区切り文字付加機能を使用した転送となります。

この環境変数が指定されていない場合は、受信先データをレコード(1行)を意識しない(バイナリ転送)で格納します。指定できる文字コードはASCIIコードです。

区切り文字は1~4バイトまで指定可能です。2バイト以上の文字コードを指定する場合には、文字コードを1バイトずつ複数指定してください。

複数の文字コードを指定する場合、各文字コードをUNIXサーバの場合は「 : 」(コロン)、IAサーバの場合は「 ; 」(セミコロン)で区切ります。

MFTF_CLLINECODE環境変数は以下の形式で文字コードを指定してください。

[ 0 [ { x | X } ] ] character code [ { : | ; } ... ]

character codeは1文字のASCIIコードです。

ASCIIコードを16進数で指定する場合

最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、ASCIIコードを指定する。

ASCIIコードを8進数で指定する場合

最初の文字に'0'を指定してから、ASCIIコードを指定する。

ASCIIコードを10進数で指定する場合

最初からASCIIコードを指定する。

UNIX側で16進数の0dと0aを指定する場合

0x0d:0x0a

MFTF_SVLINECODE

入出力データのレコード(1行)を意識して転送する場合(テキスト転送)、serverfile のレコード(1行)の終端を識別する区切り文字の文字コードを指定します。

MFTF_CLLINECODE環境変数が指定された場合は、この環境変数は指定する必要があります。

また、受信元サーバシステムがUNIX/IAサーバでMFTF_CLLINECODE環境変数が指定されている場合に、この環境変数が有効となります。

指定できる文字コードはASCIIコードです。

区切り文字は1~4バイトまで指定可能です。2バイト以上の文字コードを指定する場合には、文字コードを1バイトずつ複数指定してください。

複数の文字コードを指定する場合、各文字コードをUNIXサーバの場合は「 : 」(コロン)、IAサーバの場合は「 ; 」(セミコロン)で区切ります。

MFTF_SVLINECODE環境変数は以下の形式で文字コードを指定してください。

[ 0 [ { x | X } ] ] character code [ { : | ; } ... ]

character codeは1文字のASCIIコードです。

ASCIIコードを16進数で指定する場合

最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、ASCIIコードを指定する。

ASCIIコードを8進数で指定する場合

最初の文字に'0'を指定してから、ASCIIコードを指定する。

ASCIIコードを10進数で指定する場合

最初からASCIIコードを指定する。

UNIX側で16進数の0dと0aを指定する場合

0x0d:0x0a

MFTF_COMMAND

サーバシステム上で実行するフィルターコマンド文字列を指定します。その際に指定するコマンドのファイル名を絶対パスで指定してください。

また、オプション等も指定可能ですが、シェル解析できる形式で入力してください。

フィルターコマンドのファイル名やディレクトリ名に空白がある場合には、必ず「 " 」(ダブルクォート)または「 ' 」(シングルクォート)で囲んで (IAサーバの場合には、「 " 」(ダブルクォート)で囲んでください)、シェル解析できるような形式にしてください。

指定できるファイル名はASCIIコードで2047バイトまでの文字列です。

この環境変数が省略された場合、受信元サーバシステム上でフィルターコマンドを実行しません。また、受信元サーバシステムがUNIX/IAサーバの場合だけ、この環境変数が有効となります。

このフィルターコマンドの指定は、フィルターコマンド自身の作りとあっていないとデータの転送は誤動作します。フィルターコマンドの作りについては、フィルターコマンドの呼出しを参照してください。

復帰値

復帰値は、以下の値を返します。

データ転送の結果内容

復帰値

データ転送が正常終了した。

0

-d[-u]オプションおよび、-m[-u]オプションを指定したとき、最終更新日時の条件によりデータ転送処理が行われなかった。

1

-d[-u]オプション、または-pオプション、または-m[-u]オプションを指定したとき、システムエラーにより、データ転送は正常に終了したがファイル情報/ディレクトリ情報の更新ができなかった。

2

データ転送が異常終了した。

-1

フィルターコマンドでエラー(フィルターコマンドの復帰コードが0以外)が発生した場合、「フィルターコマンド復帰コード変換ファイル」の解析結果によって、以下の値を返し、メッセージを標準エラー出力に出力します。「フィルターコマンド復帰コード変換ファイル」の詳細については、フィルターコマンド復帰コード変換ファイルの作成を参照してください。

フィルターコマンド復帰コード変換ファイルの解析結果

復帰値

フィルターコマンド復帰コード変換ファイルが存在しない

フィルターコマンドの復帰コード

フィルターコマンド復帰コード変換ファイル内に該当する情報がない

フィルターコマンドの復帰コードがNORMALに該当する

0

フィルターコマンドの復帰コードがWARNINGに該当する

フィルターコマンド復帰コード変換ファイル内の「WARNING」に指定した値

フィルターコマンドの復帰コードがERRORに該当する

-1 (UNIXサーバの場合 = 255)

それ以外の場合は-1(UNIXサーバの場合 = 255)を返し、メッセージを標準エラー出力に出力します。

注意

UNIXサーバで転送コマンドを起動した場合、使用しているシェルによって、復帰値の見え方が異なる場合があります。