ETERNUS SF XL-DATA/MV 使用手引書 |
目次
索引
![]() ![]() |
第5章 UNIX/IAサーバ主導のデータ転送 | > 5.2 転送コマンドリファレンス |
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サーバシステムからデータを受信する場合、サーバシステム上の「利用者登録ファイル」に記述されているユーザ名のどれかと一致するユーザでデータの受信を行ってください。
上記に関する具体的な設定方法等については、データ転送用利用者登録を参照してください。なお、本コマンドは以下のユーザが使用できます。
- [L20以前の場合]
IAサーバの場合、Administratorsグループに所属したユーザ。
- UNIXサーバの場合、システム管理者(UIDが0のユーザ、一般的にはroot)。
上記以外のユーザが使用した場合、”「Administrators」グループ所属のユーザではない”との理由でエラーになります。
また、差分ファイル転送機能を使用する場合は、管理者資格が必要なため以下の条件を満たす必要があります。
- クライアントシステム側がUNIXサーバの場合、本コマンドを管理者(UserID=0)で実行
- サーバシステム側がUNIXサーバの場合、環境変数MFTF_USER(サーバシステム側のユーザ名)に管理者(UserID=0)を指定
-t clientfile
クライアントシステム上の格納先ファイル名を指定します。
clientfileで指定するファイル名は、クライアントシステムによって以下のように指定します。
クライアントシステム 規則 UNIX Solaris OS ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。 HP-UX ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。 AIX ASCIIコードで1022バイトまでのファイル名を絶対パスで指定します。 Linux ASCIIコードで1023バイトまでのファイル名を絶対パスで指定します。 IA ASCIIコードで260バイトまでのファイル名を絶対パスで指定します。 クライアントシステム上に clientfile が存在しない場合、新しくこのファイルおよびディレクトリを作成します。
作成したファイルやディレクトリのセキュリティおよびパーミッションは、本コマンドの実行ユーザの権限となります。
また、 clientfile が存在する場合、このファイルにデータを上書きします。
このオプションが省略された場合、標準出力に受信データを出力します。また、このパラメータが複数指定された場合、最後に指定されたパラメータが有効になります。[V13]
-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 フィルターコマンド [サーバシステムがグローバルサーバまたはPRIMEFORCEの場合]
環境変数名 必須 概 要 MFTF_USER サーバシステム側のユーザ名 MFTF_PASSWORD サーバシステム側のユーザのパスワード MFTF_DEVICE ◎ クライアントシステム側の中間キャラクタデバイス名 MFTF_CLLINECODE クライアントシステム側の区切り文字コード 各環境変数について以下に詳しく説明します。
MFTF_USER
サーバシステムでのユーザ名を指定します。
指定できるユーザ名はASCIIコードで127バイト以内の文字列です。
ここに指定するユーザ名は、サーバシステムによって以下のように指定します。
サーバシステム 規則 UNIX サーバシステムに登録されているユーザ名を指定します。 IA "WINDOWS"(両端の""は不要)と指定します。 グローバルサーバ
または
PRIMEFORCEサーバシステム上でRACF運用を行っている場合、この環境変数が有効になります。その場合にはRACFに登録されているユーザ名を指定します。英小文字は指定できません。 MFTF_PASSWORD
サーバシステムでのユーザ名に対するパスワードを指定します。
指定できるパスワードはASCIIコードで127バイト以内の文字列です。
この環境変数は受信元サーバがグローバルサーバまたはPRIMEFORCEの場合に有効となります。サーバシステムの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"の後に追加した形で指定します。
- 例) 物理ディスク番号が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サーバで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サーバで転送コマンドを起動した場合、使用しているシェルによって、復帰値の見え方が異なる場合があります。
目次
索引
![]() ![]() |