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

5.2.1 mftfsendコマンド

構文

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

説明

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

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

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

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

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

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

オプション

-f clientfile

送信元ファイル名を絶対パスで指定します。

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

クライアントシステム

規則

UNIX

Solaris OS

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

HP-UX

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

AIX

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

Linux

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

IA

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

このオプションが省略された場合、標準入力からのデータを送信元データとします。

また、このオプションが複数指定された場合、最後に指定されたオプションが有効になります。

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

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

-d [ -u ]

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

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

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

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

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

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

-m [ -u ]

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

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

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

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

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

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

-p

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

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

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

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

serverfile

送信先ファイル名/データセット名を指定します。

複数のファイル名/データセット名を指定することはできません。

送信先サーバシステム上に serverfile が存在しない場合、新しくファイルを作成します。

ただし、送信先サーバシステムがUNIX/IAサーバの場合には、ディレクトリも作成します。(UNIXサーバ側のセキュリティおよびパーミッションについては、ユーザ認証の新規作成ファイルのパーミッションの設定を参照)

また、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_VOLUME

ボリューム通し番号

MFTF_RECORDFMT

レコード形式

MFTF_RECORDLEN

レコード長

MFTF_BLOCKSIZE

ブロック長

MFTF_INITSPACE

スペース初期量(ブロック数)

MFTF_GAINEDSPACE

スペース増分量(ブロック数)

MFTF_RLSESPACE

未使用領域の解放

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

MFTF_USER

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

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

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

サーバシステム

規則

UNIX

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

IA

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

グローバルサーバ

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

MFTF_PASSWORD

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

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

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

MFTF_DEVICE

mftfsendコマンドで使用するデータ転送用ボリュームのキャラクタデバイス名を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サーバの場合に、この環境変数が有効となります。

指定できる文字コードは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サーバの場合だけ、この環境変数が有効となります。

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

MFTF_VOLUME

グローバルサーバ上の serverfile を格納するDASDのボリューム通し番号を指定します。

指定できるボリューム通し番号はASCIIコードで6バイトまでの文字列です。英小文字は指定できません。

また、serverfile を格納するボリュームを最大8個まで指定できます。

MFTF_RECORDFMT

グローバルサーバ上の serverfile に格納するデータのレコード形式を以下のどれかの文字列で指定します。

文字列

意味

FIXED_NONBLOCK

固定長非ブロック化レコード形式で格納します。

FIXED_BLOCK

固定長ブロック化レコード形式で格納します。

VARIABLE_NONBLOCK

可変長非ブロック化レコード形式で格納します。

VARIABLE_BLOCK

可変長ブロック化レコード形式で格納します。

送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfileの有無

MFTF_RECORDFMTの指定

XLデータムーバの処理

serverfile が存在しない

省略

エラーとなります。

レコード形式を指定

指定されたレコード形式でデータを格納します。

serverfile が存在する

省略

既存のファイルのレコード形式でデータを格納します。

レコード形式を指定

指定されたレコード形式でデータを格納します。

MFTF_RECORDLEN

グローバルサーバ上の serverfile のレコード長を指定します。

指定できるレコード長の範囲はMFTF_RECORDFMTに指定した値によって異なります。

MFTF_RECORDFMTの指定

レコード長の範囲

FIXED_NONBLOCK、FIXED_BLOCK

1~32760バイト

VARIABLE_NONBLOCK、VARIABLE_BLOCK

5~32756バイト

送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfileの有無

MFTF_RECORDLENの指定

XLデータムーバの処理

serverfile が存在しない

省略

エラーとなります。

レコード長を指定

指定されたレコード長でデータを格納します。

serverfile が存在する

省略

既存のファイルのレコード長でデータを格納します。

レコード長を指定

指定されたレコード長でデータを格納します。

MFTF_RECORDLEN環境変数は、以下の形式でレコード長を指定してください。

[ 0 [ { x | X } ] ] Record Length

Record Lengthはレコード長を表す数値です。

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

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

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

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

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

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

MFTF_BLOCKSIZE

グローバルサーバ上の serverfile のブロック長を指定します。

指定できるブロック長の範囲は1~32760バイトです。

送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfileの有無

MFTF_BLOCKSIZEの指定

XLデータムーバの処理

serverfile が存在しない

省略

エラーとなります。

ブロック長を指定

指定されたブロック長でデータを格納します。

serverfile が存在する

省略

既存のファイルのブロック長でデータを格納します。

ブロック長を指定

指定されたブロック長でデータを格納します。

また、指定するブロック長は、以下の条件を満足している必要があります。なお、ブロック化できる場合は、直接アクセス記憶装置の入出力性能やスペース効率から、23400バイトに近いブロック長を推奨します。

固定長非ブロック化レコード形式
(MFTF_RECORDFMT= FIXED_NONBLOCK)

ブロック長には、レコード長を指定してください。

固定長ブロック化レコード形式
(MFTF_RECORDFMT= FIXED_BLOCK)

ブロック長には、レコード長の整数倍の値を指定してください。

可変長非ブロック化レコード形式
(MFTF_RECORDFMT= VARIABLE_NONBLOCK)

ブロック長には、レコード長+4より大きい値を指定してください。

可変長ブロック化レコード形式
(MFTF_RECORDFMT= VARIABLE_BLOCK)

ブロック長には、レコード長+4より大きい値を指定してください。

MFTF_BLOCKSIZE環境変数は以下の形式でブロック長を指定してください。

[ 0 [ { x | X } ] ] Block Size

Block Sizeはブロック長を表す数値です。

ブロック長を16進数で指定する場合

最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、ブロック長を指定する。

ブロック長を8進数で指定する場合

最初の文字に'0'を指定してから、ブロック長を指定する。

ブロック長を10進数で指定する場合

最初からブロック長を指定する。

MFTF_INITSPACE

グローバルサーバ上の serverfile にデータを格納する際に割り当てるスペース初期量(ブロック数)を指定します。

指定できるスペース初期量の範囲は以下のとおりです。

サーバシステム

スペース初期量の範囲

MSP

1 ~ 16777215

XSP

1 ~ 16777215

OS/390

1 ~ 16777215

送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfile の有無

MFTF_INITSPACEの指定

XLデータムーバの処理

serverfile が存在しない

省略

エラーとなります。

スペース初期量を指定

指定されたスペース初期量でスペースを割り当てます。

serverfile が存在する

省略

既存のファイルのスペース初期量でスペースを割り当てます。

スペース初期量を指定

MFTF_INITSPACE環境変数は以下の形式でスペース初期量を指定してください。

[ 0 [ { x | X } ] ] Initial Space

Initial Spaceはスペース初期量を表す数値です。

スペース初期量を16進数で指定する場合

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

スペース初期量を8進数で指定する場合

最初の文字に'0'を指定してから、スペース初期量を指定する。

スペース初期量を10進数で指定する場合

最初からスペース初期量を指定する。

MFTF_GAINEDSPACE

グローバルサーバ上の serverfile に割り当てるスペース増分量(ブロック数)を指定します。

指定できるスペース増分量の範囲は以下のとおりです。

サーバシステム

スペース増分量の範囲

MSP

1 ~ 16777215

XSP

1 ~ 16777215

OS/390

1 ~ 16777215

送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。

serverfileの有無

MFTF_GAINEDSPACEの指定

XLデータムーバの処理

serverfile が存在しない

省略

スペースの増分を行いません。

スペース増分量を指定

指定されたスペース増分量でスペースを追加します。

serverfile が存在する

省略

既存のファイルのスペース増分量でスペースを追加します。

スペース増分量を指定

MFTF_GAINEDSPACE環境変数は以下の形式でスペース増分量を指定してください。

[ 0 [ { x | X } ] ] Gained Space

Gained Spaceはスペース増分量を表す数値です。

スペース増分量を16進数で指定する場合

最初の文字に'0'を、2番目の文字に'x'または'X'を指定してから、スペース増分量を指定する。

スペース増分量を8進数で指定する場合

最初の文字に'0'を指定してから、スペース増分量を指定する。

スペース増分量を10進数で指定する場合

最初からスペース増分量を指定する。

MFTF_RLSESPACE

グローバルサーバ上の serverfile を閉じる際に未使用領域を解放するかどうかを以下のどちらかの文字列で指定します。

文字列

意味

SPACE_NOTRELEASE

未使用領域を解放しません。

SPACE_RELEASE

未使用領域を解放します。

この環境変数が省略された場合、XLデータムーバは未使用領域を解放しません。

なお、サーバシステムがMSPまたはOS/390で、SPACE_RELEASEを指定した状態で多重度2以上のデータ転送を行った場合、サーバシステム(MSPまたはOS/390)が未使用領域を解放しない場合があります。転送元ファイルのデータサイズおよびMFTF_BLOCKSIZEで示す格納先ファイル/データセットのブロック長を熟慮した上、MFTF_INITSPACE/MFTF_GAINEDSPACEで示すスペース初期量/スペース増分量を適切に設定してください。

復帰値

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

データ転送の結果内容

復帰値

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

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