テーマ① 【HULFT】5,000個のファイルを効率よく転送する

OrangeLab. 運営チーム
作成日時: - 更新日時:
Avatar
5,000個ものファイルを別環境に送らなければならなくなりました。
どうすれば効率良く転送できるでしょうか?

詳細要件

支店から本店に、その日の売上ファイル(約5,000ファイル)を日次で送らなければなりません。
夜間バッチで支店から送信しますが、本店は別環境であるため、文字コード変換(SHIFT-JIS⇒UTF-8)をしなければなりません。
売上ファイルを出来る限り効率良く転送するには、どうすればよいでしょうか。

Meeting01_00b.png

ヒントじゃ!
複数のファイルを効率良く転送するには、やはり固めて転送するのが一番じゃ。ただし、文字コードの変換も行わなければならないとなると…。それらをどのように両立させるか、そこがポイントとなるじゃろぅ。
 

模範解答

配信前ジョブでutljoinコマンドを用いて5000ファイルを結合してから配信します。
集信後ジョブでutlbreakコマンドを用いて結合ファイルを分解します。

使用ソフトウェア

ソフトウェア バージョン
HULFT8 for Windows-Server 8.0.0

流れ

  1. 対象を10ファイルとし、配信側でutljoinコマンドの動作確認をします。
  2. 集配信の疎通を確認します。
  3. 集信側でutlbreakコマンドの動作確認をします。
  4. 要件通り対象を5000ファイルに設定し、管理情報を作成、再試行します。
  5. 集信側に5000ファイルが送られており、文字コード変換も正しく行われていることを確認します。

手順

  1. 対象を10ファイルとし、配信側でutljoinコマンドの動作確認をします。

    (1) 配信側でutljoinコマンドを実行してみます。
    (※例えば、file_00010.txt~file_0019.txtの10ファイルを結合する場合、下記のように指定することができます。)

    utljoin -infile "C:\demofile\No.01\shiten\snd\file_0001*.txt" t -outfile "C:\demofile\No.01\file_test.dat" -r

    (2) 実行できたら結合したファイルを開いて確認します。
  2. 集配信の疎通を確認します。

    (1) 配信側ホストで配信管理情報を作成します。
    ■ 配信管理情報(例)
    ファイルID:TEST01 (※拡張設定はデフォルトのままとします。)
    転送グループID:grp (※集信側ホストの情報を登録した転送グループIDを設定してください。)
    Meeting01_01a.png

    (2) 集信側ホストで集信管理情報を作成します。
    ■ 集信管理情報(例)
    ファイルID:TEST01 (※拡張設定はデフォルトのままとします。)
    Meeting01_02a.png

    (3) 配信要求を実行します。

    (4) 履歴を確認します。
    • [配信側]状況照会 > 配信状況照会
    • [集信側]状況照会 > 集信状況照会
  3. 集信側でutlbreakコマンドの動作確認をします。

    (1) 集信側にてutlbreakコマンドを実行してみます。

    utlbreak -infile "/usr/local/orangelab/rcv.dat" -from 1 -to 10 -r -dir "/usr/local/orangelab/out_test"

    (2) 実行後、ファイルが分解されているか確認します。
    10個のファイルが存在していればOKです。
  4. 要件通り対象を5000ファイルに設定し、管理情報を作成、再試行します。

    1~3までの内容を用いて各設定を修正します。

    (1) 配信側のジョブ起動情報を新規作成します。

    utljoin -infile "C:\demofile\No.01\shiten\snd\*.txt" t -outfile "C:\demofile\No.01\file_join.dat" -r

    Meeting01_03a.png

    (2) 配信管理情報の配信前ジョブに(1)で作成したジョブ起動情報を指定します。
    (※utljoinコマンドで結合したファイルを指定する場合は、転送タイプをBINARYにする必要があるので注意です。)
    Meeting01_04a.png

    (3) 集信側のジョブ起動情報を新規作成します。

    utlbreak -infile "/usr/local/orangelab/rcv.dat" -from 1 -to 5000 -r -dir "/usr/local/orangelab/out"

    Meeting01_05a.png

    (4) 集信管理情報の正常時ジョブに(3)で作成したジョブ起動情報を指定します。
    Meeting01_06a.png

    (5) 配信要求を実行し、各履歴を確認します。
  5. 集信側に5000ファイルが送られており、文字コード変換も正しく行われていることを確認します。

    (1) ファイルの中身を確認し、文字化けせず正しい文字コードであることを確認できれば成功です。

まとめ

いかがでしたでしょうか。
このように、HULFTを用いれば大量のファイルを1度の転送で送ることができ、文字コード対応までバッチリです。
この便利さを是非、体験してみてください。
この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています

コメント