ETERNUS SF XL-DATA/MV 使用手引書 |
目次
索引
![]() ![]() |
第5章 UNIX/IAサーバ主導のデータ転送 | > 5.2 転送コマンドリファレンス |
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サーバシステムに対してデータを送信する場合、サーバシステム上の「利用者登録ファイル」に記述されているユーザ名のどれかと一致するユーザでデータ送信を行ってください。
上記に関する具体的な設定方法等については、データ転送用利用者登録を参照してください。
なお、本コマンドは以下のユーザが使用できます。
- [L20以前の場合]
IAサーバの場合、Administratorsグループに所属したユーザ。
- UNIXサーバの場合、システム管理者(UIDが0のユーザ、一般的にはroot)。
上記以外のユーザが使用した場合、”「Administrators」グループ所属のユーザではない”との理由でエラーになります。
また、差分ファイル転送機能を使用する場合は、管理者資格が必要なため以下の条件を満たす必要があります。
- クライアントシステム側がUNIXサーバの場合、本コマンドを管理者(UserID=0)で実行
- サーバシステム側がUNIXサーバの場合、環境変数MFTF_USER(サーバシステム側のユーザ名)に管理者(UserID=0)を指定
-f clientfile
送信元ファイル名を絶対パスで指定します。
clientfile で指定するファイル名は、送信元クライアントシステムによって以下のように指定します。
クライアントシステム 規則 UNIX Solaris OS ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。 HP-UX ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。 AIX ASCIIコードで1022バイトまでのファイル名を絶対パスで指定します。 Linux ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。 IA ASCIIコードで260バイトまでのファイル名を絶対パスで指定します。 このオプションが省略された場合、標準入力からのデータを送信元データとします。
また、このオプションが複数指定された場合、最後に指定されたオプションが有効になります。[V13]
-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 フィルターコマンド [サーバシステムがグローバルサーバまたはPRIMEFORCEの場合]
環境変数名 必 須 概 要 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"(両端の""は不要)と指定します。 グローバルサーバ
または
PRIMEFORCEサーバシステム上でRACF運用を行っている場合、この環境変数が有効になります。その場合にはRACFに登録されているユーザ名を指定します。英小文字は指定できません。
MFTF_PASSWORD
送信先サーバシステムでのユーザ名に対するパスワードを指定します。
指定できるパスワードはASCIIコードで127バイト以内の文字列です。
この環境変数は送信先サーバシステムがグローバルサーバまたはPRIMEFORCEであり、かつ、RACF運用を行っている場合にだ け有効となります。サーバシステムのRACFに登録されているユーザ名に対するパスワードを指定します。英小文字は指定で きません。
MFTF_DEVICE
データ送信で使用する中間キャラクタデバイス名を64バイト以内で指定します。
この環境変数の値を複数指定することにより、複数のデバイス内より最も転送処理数の少ないデバイスを自動的に選択して転送を実施することができます。
複数のデバイスを指定する場合、各デバイスをUNIXの場合は":"(コロン)、IAの場合は";"(セミコロン)で区切って指定します。
また、複数のデバイスを指定した場合に、それぞれのキャラクタデバイス名の長さが64バイト以内で、全体で64バイトを超えた場合には、先頭から64バイトまでが情報として扱われ、その内の有効なデバイスだけを対象に動作します。
ここに指定するキャラクタデバイス名は、以下のキャラクタデバイス名を指定します。
- UNIXサーバ
- 初期化コマンドで定義したデータ転送用ボリュームの絶対パス名を指定します。
- Solaris OSの場合
例)host-adaptor-id=1 target-id=2 論理ユニット=3の場合
※ Solaris OSの場合、論理ユニット全体が参照できるパーティションは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の場合
例)/dev/sda2 のデバイスを rawコマンド で /dev/raw/raw2 にバインドした場合- setenv MFTF_DEVICE /dev/raw/raw2
- IAサーバ
- ディスクユーティリティで選択した物理ディスク番号("Diskxx"のxx部分の数字)を"PHYSICALDRIVE"の後に追加した形で指定します。
その際に、物理ディスク番号の先頭が 0の場合 には 0をとった数字を指定する必要があります。
以下の例を参考にしてください。
- 例)物理ディスク番号が1("Disk01")の場合
- set MFTF_DEVICE=PHYSICALDRIVE1
MFTF_CLLINECODE
入出力データのレコード(1行)を意識して転送する場合(テキスト転送)、 clientfile のレコード(1行)の終端を識別する区切り文字の文字コードを指定します。
この環境変数を指定すると、「区切り文字削除または変換機能」を使用した転送となります。
- UNIX/IAサーバ
- 区切り文字変換機能を使用した転送となります。
- グローバルサーバまたはPRIMEFORCE
- 区切り文字削除機能を使用した転送となります。
この環境変数が指定されていない場合は、送信元データをレコード(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
グローバルサーバまたはPRIMEFORCE上の serverfile を格納するDASDのボリューム通し番号を指定します。
指定できるボリューム通し番号はASCIIコードで6バイトまでの文字列です。英小文字は指定できません。
また、 serverfile を格納するボリュームを最大8個まで指定できます。
グローバルサーバまたはPRIMEFORCE上の serverfile に格納するデータのレコード形式を以下のどれかの文字列で指定します。
文字列 意味 FIXED_NONBLOCK 固定長非ブロック化レコード形式で格納します。 FIXED_BLOCK 固定長ブロック化レコード形式で格納します。 VARIABLE_NONBLOCK 可変長非ブロック化レコード形式で格納します。 VARIABLE_BLOCK 可変長ブロック化レコード形式で格納します。 送信先サーバシステム上に serverfile が存在するかどうかによって、XLデータムーバは以下の処理を行います。
serverfileの有無 MFTF_RECORDFMT XLデータムーバの処理 serverfile が存在しない 省略 エラーとなります。 レコード形式を指定 指定されたレコード形式でデータを格納します。 serverfile が存在する 省略 既存のファイルのレコード形式でデータを格納します。 レコード形式を指定 指定されたレコード形式でデータを格納します。
グローバルサーバまたはPRIMEFORCE上の 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進数で指定する場合 最初からレコード長を指定する。
グローバルサーバまたはPRIMEFORCE上の 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進数で指定する場合 最初からブロック長を指定する。
グローバルサーバまたはPRIMEFORCE上の 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進数で指定する場合 最初からスペース初期量を指定する。
グローバルサーバまたはPRIMEFORCE上の 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
グローバルサーバまたはPRIMEFORCE上の 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サーバで転送コマンドを起動した場合、使用しているシェルによって、復帰値の見え方が異なる場合があります。
目次
索引
![]() ![]() |