Skip to main content

クライアントコマンド(hcp)

hcpコマンドは、リモート(サーバ、hcpdデーモン)との間でファイル転送を行うコマンドです。ローカルのファイルコピー機能もサポートします。

基本書式#

基本書式は以下の通りです。

Local  : hcp [OPTION]... SOURCE [SOURCE]... DEST  or   : hcp [OPTION]... -f SOURCE_LIST_FILE DEST
Remote :   Push : hcp [OPTION]... SOURCE [SOURCE]... [USER@]HOST[:PORT]:DEST  Pull : hcp [OPTION]... [USER@]HOST[:PORT]:SOURCE [:SOURCE]... DEST
Remote using source file list :   Push : hcp [OPTION]... -f SOURCE_LIST_FILE [USER@]HOST[:PORT]:DEST  Pull : hcp [OPTION]... -f SOURCE_LIST_FILE DEST  Pull : hcp [OPTION]... --source-file-host=HOST [--port=PORT] [--user=USER] -f SOURCE_LIST_FILE DEST

オプション一覧#

hcpコマンドのオプションは以下の通りです。

コピー

説明短縮名オプション名
転送元パーミッションの保持ppermission
ディレクトリの再帰的コピーRrecursive
正規表現使用(ワイルドカードの適用除外)gregex
ディレクトリの全探索(ワイルドカードまたは正規表現の適用除外)Yanydirs
転送データ・ファイル検査(メッセージダイジェストによる検査)yverify
転送データブロックの圧縮送信zcompress
シンボリックリンク(ファイル)を解決(Dereference)してコピーscopy-linkfile
シンボリックリンク(ディレクトリ)を解決してコピーSfollow-linkdir
SOURCEに指定されたシンボリックリンクを解決してコピーHdereference-src
空ファイル除外コピーeno-emptyfile
空ディレクトリ除外コピーEno-emptydir
ドットで始まるファイル名を除外してコピーdno-dotfile
ドットで始まるディレクトリを除外してコピーDno-dotdir
隠し属性が設定されたファイルのコピーIcopy-hidden
アーカイブ属性が設定されたファイルのコピーAarchive-check
コピー動作のモード指定mcopy-mode
上書き動作のモード指定ooverwrite
エラー発生時の動作指定afail-action
read関数を用いたデータ逐次読み取り(転送元にデバイスファイルを指定した場合)reading-dev
Mapped I/Oを用いたデータ読み取り(転送元にデバイスファイルを指定した場合)reading-dev-via-mmap
ファイル転送の中断(秒単位指定)transfer-expire
制御メッセージのアウトオブオーダ抑制no-out-of-order-header-messaging
Windows読み込み属性保持preserve-win-read-only
HCPファイルスキップ動作の解除no-skip-hcp-file

通信方式選択機能

説明短縮名オプション名
HpFPプロトコルの使用hpfp
WebSocketプロトコル(SSL/TLS)の使用wss
ポート分離型UDP (HpFP)プロトコルの使用(廃止予定)udp
WebSocketプロトコル(平文通信)の使用ws
プロキシ直接接続指定(WebSocketプロトコル使用時)ws-proxy-direct
プロキシサーバの指定(WebSocketプロトコル使用時)ws-proxy
多重接続数の指定mcd

多数ファイル一括転送機能

説明短縮名オプション名
ソースファイルリストを指定してコピーfsource-file
接続先リモートホストの指定(ソースファイル使用時)source-file-host
接続先リモートホストのサービスポート指定(ソースファイル使用時)port

輻輳制御

説明短縮名オプション名
輻輳制御モードの指定(HpFPプロトコル使用時)hpfp-cong

データフロー制御・通信メッセージサイズ制御

説明短縮名オプション名
MSS(Maximum Segment Size)の指定(HpFPプロトコル使用時)hpfp-mss

データフロー制御・データバッファ設定

説明短縮名オプション名
送信バッファサイズの指定(HpFPプロトコル使用時)hpfp-sndbuf
受信バッファサイズの指定(HpFPプロトコル使用時)hpfp-rcvbuf

データフロー制御・一時ファイル保存機能(アトミック(不可分)ファイル保存)

説明短縮名オプション名
一時ファイルへの上書き要求overwrite-als-temp-file

認証

説明短縮名オプション名
サーバ証明書の検証無効化(WebSocket(SSL/TLS)通信時)wss-no-check-certificate
ユーザ名を先に指定して転送user
パスワードを先に指定して転送password

通信再開機能

説明短縮名オプション名
前回の続きから処理再開rresume
コピー処理自動再開(ネットワークの障害で中断した場合)auto-resume

各種監視機能

説明短縮名オプション名
調査モード起動(廃止予定)investigation

性能評価機能

説明短縮名オプション名
ディスクI/O性能の計測Nno-send
通信プロトコルのネットワークI/O性能計測nno-diskio

ログ管理機能

説明短縮名オプション名
アプリケーションログの出力先指定log-file
各種統計ログの出力先指定stat-log-file
実行記録の出力先指定hcp-out
多重起動モードで起動multi-run

ソフトウェアの情報確認

説明短縮名オプション名
バージョン確認Vversion
入力パラメータ及び設定情報確認config-test
コマンドヘルプの表示hhelp

システム動作環境設定

説明短縮名オプション名
設定ファイルのパス指定config-file
設定項目上書き指定config-option
実行ディレクトリからの相対パスでIncludeinclude-conf-from-cwd
サーバ互換対応無効化no-earlier-serv-compat

次のオプションはhcpdコマンドの説明をご参照ください。

--investigation

コピー#

p, permission#

=========================================================================対応OS : Linux / Windows / Mac書式 : -p | --permission=========================================================================

転送元のファイルパーミッション(UID/GID,実行権フラグなど)やファイル属性(更新日時など)を転送先で保持します。アクセス権などの理由で転送先でパーミッションやファイル属性を更新できない場合は、ファイル書込みを行った際にOSにより適用された属性などがそのまま保持されます。

--例:[user@localhost ~]$ hcp -p ...--

R, recursive#

=========================================================================対応OS : Linux / Windows / Mac書式 : -R | --recursive=========================================================================

転送元のディレクトリを再帰的に探索してファイル転送を行います。

--例:[user@localhost ~]$ hcp -R ...--

g, regex#

=========================================================================対応OS : Linux / Windows / Mac書式 : -g | --regex=========================================================================

転送元のパスを正規表現として解釈します。このオプションを使用しない場合は、転送元のパスはワイルドカード(*)を含むパターン文字列表現として解釈します。

正規表現(もしくはワイルドカードを含むパターン文字列)による評価は、指定した転送元のパスがディレクトリ及びファイルとしても存在しない場合に行われます。この評価は、ファイル探索時のファイル名及びディレクトリ名に対して適用されます。パターンにマッチしなかったファイルやディレクトリはスキップされます。パターン文字列は、最後のパス区切り文字(/など)以降の文字列から抽出されます。

--例:[user@localhost ~]$ hcp -g ...--

Y, anydirs#

=========================================================================対応OS : Linux / Windows / Mac書式 : -Y | --anydirs=========================================================================

regexオプションやワイルドカードなどによるパターンマッチングが指定された際に、ディレクトリ探索でこのパターンマッチングを無視して探索を行います。

--例:[user@localhost ~]$ hcp -Y ...--

y, verify#

=========================================================================対応OS : Linux / Windows / Mac書式 : -y | --verify=========================================================================

転送するデータブロック及びファイルに対してメッセージダイジェストによる検査を行います。

--例:[user@localhost ~]$ hcp -y ...--

z, compress#

=========================================================================対応OS : Linux / Windows / Mac書式 : -z | --compress=========================================================================

転送するデータのブロックを圧縮して転送します。

--例:[user@localhost ~]$ hcp -z ...--

s, copy-linkfile#

=========================================================================対応OS : Linux / Windows / Mac書式 : -s | --copy-linkfile=========================================================================

シンボリックリンクが参照するファイルをコピーします。このオプションを使用しない場合は、転送先でシンボリックリンクの作成を行います。

--例:[user@localhost ~]$ hcp -s ...--

S, follow-linkdir#

=========================================================================対応OS : Linux / Windows / Mac書式 : -S | --follow-linkdir=========================================================================

シンボリックリンクが参照するディレクトリを探索します。

本オプションを使用する場合は、サイクリックなディレクトリ探索やリンクを解決しない場合に確認される転送元パス配下の情報(ファイル数や容量など)からは予想しにくい多量のデータ処理などが生じ得る点に注意が必要です。

--例:[user@localhost ~]$ hcp -S ...--

H, dereference-src#

=========================================================================対応OS : Linux / Windows / Mac書式 : -H | --dereference-src=========================================================================

SOURCEに指定されたシンボリックリンクは解決してコピーを行います。

--例:[user@localhost ~]$ hcp --dereference-src ...--

e, no-emptyfile#

=========================================================================対応OS : Linux / Windows / Mac書式 : -e | --no-emptyfile=========================================================================

空ファイル(サイズが0 のファイル)のコピーを抑制します。

--例:[user@localhost ~]$ hcp -e ...--

E, no-emptydir#

=========================================================================対応OS : Linux / Windows / Mac書式 : -E | --no-emptydir=========================================================================

空ディレクトリ(配下にファイルもしくはディレクトリを全く含まないディレクトリ)のコピーを抑制します。

--例:[user@localhost ~]$ hcp -E ...--

d, no-dotfile#

=========================================================================対応OS : Linux / Windows / Mac書式 : -d | --no-dotfile=========================================================================

ドット(.)から始まるファイルのコピーを抑制します。

--例:[user@localhost ~]$ hcp -d ...--

D, no-dotdir#

=========================================================================対応OS : Linux / Windows / Mac書式 : -D | --no-dotdir=========================================================================

ドット(.)から始まるディレクトリのコピーを抑制します。

--例:[user@localhost ~]$ hcp -D ...--

I, copy-hidden#

=========================================================================対応OS : Windows書式 : -I | --copy-hidden=========================================================================

隠し属性が設定されたファイルをコピーするか指定します。

--例:[user@localhost ~]$ hcp -I ...--

A, archive-check#

=========================================================================対応OS : Windows書式 : -A | --archive-check=========================================================================

ファイルのアーカイブ属性が設定されているファイルをコピーします。

また、転送先のOSがWindowsの場合は本オプションを指定しない場合を含め、そのOSの機能に従ってアーカイブ属性が適時設定されます(新規作成、更新時、など。本ソフトウェアは同属性を設定する動作は行いません)。

--例:[user@localhost ~]$ hcp -A ...--

m, copy-mode#

=========================================================================対応OS : Linux / Windows / Mac書式 : -m <mode_name> | --copy-mode=<mode_name>-------------------------------------------------------------------------mode_name既定値 : ALLCOPY値の範囲 : ALLCOPY, UPDATE, DIFF, DIFF_STRICT, SYNC=========================================================================

ファイルのコピー動作モードを指定します。

ALLCOPYは、全てのファイルをコピーします。

UPDATEは、転送先のファイルの更新日時を比較して転送元のファイルの更新日時の方が新しいファイルをコピーします。

DIFFは、UPDATEに加えてファイルのサイズ比較も行ってサイズに変化がある場合もコピーを行います。

DIFF_STRICTは、DIFFに加えてファイル毎にハッシュの比較を行い、異なるファイルをコピーします。

SYNCは、転送元に存在しない転送先のファイルを削除します(同期)。

--例:[user@localhost ~]$ hcp -m UPDATE ...--

o, overwrite#

=========================================================================対応OS : Linux / Windows / Mac書式 : -o <overwrite_name> | --overwrite=<overwrite_name>-------------------------------------------------------------------------overwrite_name既定値 : FORCE値の範囲 : CONFIRM, FORCE, RENAME, BACKUP=========================================================================

ファイルの上書き動作を指定します。

CONFIRMは、上書きの確認を行います。

FORCEは、確認せずに上書きを行います。

RENAMEは、上書きを行う前に古いファイルを次の様な接尾辞を付加してリネームします。

.YYMMDD_HHMMSS.NNN (NNNは連番)

BACKUPは、上書きする前に古いファイルを次の様なバックアップディレクトリへ移動します。

./YYMMDD_HHMMSS/

このディレクトリ名は、トランザクション形成時にプロセスユニークに生成されます。

--例:[user@localhost ~]$ hcp -o CONFIRM ...--

a, fail-action#

=========================================================================対応OS : Linux / Windows / Mac書式 : -a <action_name> | --fail-action=<action_name>-------------------------------------------------------------------------action_name既定値 : HALT値の範囲 : HALT, SKIP=========================================================================

ファイルコピーでのエラー発生時の動作を指定します。

HALTは、ファイルコピーで継続不可能な事象が発生した場合にコピーを中断します。

SKIPは、ファイルのコピーでエラーが発生した場合に、同ファイルを飛ばして継続することが可能な場合は、処理を続けます。

--例:[user@localhost ~]$ hcp -a SKIP ...--

reading-dev#

=========================================================================対応OS : Linux / Windows / Mac書式 : --reading-dev=========================================================================

転送元にブロックデバイスもしくはキャラクタデバイスを指定した場合に、read関数を用いてデータを読込みます。

reading-dev-via-mmap#

=========================================================================対応OS : Linux / Windows / Mac書式 : --reading-dev-via-mmap=========================================================================

転送元にブロックデバイスもしくはキャラクタデバイスを指定した場合に、Mapped I/Oを用いてデータを読込みます。

transfer-expire#

=========================================================================対応OS : Linux / Windows / Mac書式 : --transfer-expire=<expire_sec>-------------------------------------------------------------------------expire_sec既定値 : なし値の範囲 : 期限の秒数=========================================================================

ファイル転送を指定した秒数で中断します。ファイル転送が指定した秒数内で終了する場合は、中断せず完了します。

no-out-of-order-header-messaging#

=========================================================================対応OS : Linux / Windows / Mac書式 : --no-out-of-order-header-messaging=========================================================================

制御メッセージ(ファイル要求などを含むメッセージ)のアウトオブオーダを抑制します。多重接続モード時にプライマリ接続で制御メッセージの送信のみが行われ、セカンダリ接続でコンテントデータ(ファイルのペイロードを含むメッセージ)の送信のみが行われる動作を解除します。全ての接続で全てのメッセージが送信されるように動作が変わります。

preserve-win-read-only#

=========================================================================対応OS : Linux / Windows書式 : --preserve-win-read-only=========================================================================

転送先でWindowsの読み取り専用属性を保持します。 転送元でWindowsの読み取り専用属性が有効な場合や、Unixの所有者のアクセス権が読込みのみの場合に適用されます。

no-skip-hcp-file#

=========================================================================対応OS : Linux / Windows / Mac書式 : --no-skip-hcp-file=========================================================================

デフォルトで次のファイルをファイル転送から除外するようになりました。この動作を無効にします。

  • Linux/macOS : .hcp.out, .hcp.in, .hcp.diag, .hcp.statistics.*
  • Windows : _hcp.out, _hcp.in, _hcp.diag, _hcp.statistics.*

通信方式選択機能#

hpfp#

=========================================================================対応OS : Linux / Windows / Mac書式 : --hpfp=========================================================================

トランスポートにHpFPプロトコルを使用するように指示します。

--例:[user@localhost ~]$ hcp ... --hpfp /path/to/src_file 192.168.10.100:65520:/path/to/dst_file--

wss#

=========================================================================対応OS : Linux / Windows / Mac書式 : --wss=========================================================================

トランスポートにWebSocketプロトコル(SSL/TLS)を使用するように指示します。

udp#

=========================================================================対応OS : Linux / Windows / Mac書式 : --udp=<hpfp_options> hpfp_options := <hpfp_udp_port>:<hpfp_cong_mode>:<hpfp_sndbuf>:<hpfp_rcvbuf>:<hpfp_mss>-------------------------------------------------------------------------hpfp_udp_port書式 : ( DEFAULT | D | <decimal_number> )既定値 : 65520値の範囲 : decimal_numberは、1 - 65535の範囲。DはDEFAULTの略記。-------------------------------------------------------------------------hpfp_cong_mode既定値 : FAIR値の範囲 : DEFAULT(D), FAIR(F), MODEST(M), FAIR_FAST_START(S), AGGRESSIVE(A)※ 括弧内は省略表記-------------------------------------------------------------------------hpfp_sndbuf書式 : ( DEFAULT | D | <decimal_number>[[(T|G|M|K)]B] )既定値 : 100MB (Linux.x86 / Windows / Mac) 8MB (Raspbian)値の範囲 : バイト換算で符号なし倍長整数の範囲。DはDEFAULTの略記。-------------------------------------------------------------------------hpfp_rcvbuf書式 : ( DEFAULT | D | <decimal_number>[[(T|G|M|K)]B] )既定値 : 200MB (Linux.x86 / Windows / Mac) 16MB (Raspbian)値の範囲 : バイト換算で符号なし倍長整数の範囲。DはDEFAULTの略記。-------------------------------------------------------------------------hpfp_mss書式 : ( DEFAULT | D | NONE | N | <decimal_number>[[(T|G|M|K)]B] )既定値 : NONE値の範囲 : バイト換算で符号なし整数の範囲。DはDEFAULTの略記。NはNONEの略記。=========================================================================

本オプションは、廃止予定(deprecated)です。

トランスポートにHpFP プロトコルを使用するように指示します。

hpfp_udp_portは、HpFPプロトコルで使用するUDPポート番号を指定します。

hpfp_cong_modeは、 輻輳制御モードを指定します。

hpfp_sndbufは、HpFPプロトコル送信バッファサイズを指定します(バイト単位)。

hpfp_rcvbufは、HpFPプロトコル受信バッファサイズを指定します(バイト単位)。

hpfp_mssは、HpFPプロトコルのMSS(Maximum Segment Size)を指定します。MTUサイズからプロトコルヘッダ44バイトを引いたサイズが最適値です。Dを指定すると既定値を使用します。Nを指定した場合、HpFPプロトコルによるMTU探索を行い値を決定します。

輻輳制御モードについては、指定したモードをサーバが許可しない場合は、FAIRが適用されます。この動作により異なるアルゴリズムが適用される場合は、次の様なログにより通知されます。

2018/07/05 13:20:44 00007f9a2dfa0700:INFO :Your requested congestion mode of HpFP will not be used (requested=AGGRESSIVE, actual=FAIR).
--例:[user@localhost ~]$ hcp --udp=D:S:4MB:8MB:8956B ...--

ws#

=========================================================================対応OS : Linux / Windows / Mac書式 : --ws=========================================================================

トランスポートにWebSocketプロトコル(平文通信)を使用するように指示します。

ws-proxy-direct#

=========================================================================対応OS : Linux / Windows / Mac書式 : --ws-proxy-direct=========================================================================

WebSocketプロトコルを使用する場合に、プロキシサーバを使用せずに直接接続を行うように指示します。

ws-proxy#

=========================================================================対応OS : Linux / Windows / Mac書式 : --ws-proxy=<proxy_server>-------------------------------------------------------------------------proxy_server書式 : <proxy_server_address>:<proxy_server_port_number>既定値 : なし値の範囲 : プロキシサーバのアドレスとポート番号=========================================================================

WebSocketプロトコルを使用する場合に使用するプロキシサーバを指定します。SSL/TLSを使用する場合、使用しない場合ともに適用されます。指定しない場合は、システムのプロキシ設定を参照して動作します。

mcd#

=========================================================================対応OS : Linux / Windows / Mac書式 : --mcd=<multiple_connection_degree>-------------------------------------------------------------------------multiple_connection_degree既定値 : なし値の範囲 : 1 - 65535=========================================================================

多重接続を行う場合の接続数を指定します。指定しない場合は、サーバのサービスに設定されている多重接続数の上限まで接続を作成します。1を指定した場合は、単一接続での通信動作を行います。また、サーバのサービスに設定されている多重接続数の上限を超える値を指定した場合は、この上限まで接続を作成します。

多数ファイル一括転送機能#

f, source-file#

=========================================================================対応OS : Linux / Windows / Mac書式 : -f <source-path-list-file> | --source-file=<source-path-list-file>-------------------------------------------------------------------------source-path-list-file既定値 : なし値の範囲 : ファイルシステムのパス文字列=========================================================================

転送元の一覧を記述したファイルを指定します。

--例1: ローカルが転送元
[user@localhost ~]$ cat source.listfile1.txtchild_dir/file2.txtchild_dir2//home/user/file3.txt
[user@localhost ~]$ hcp -f source.list ...--例2: リモートが転送元1
[user@localhost ~]$ cat source.list192.168.100.100:874:file1.txt:child_dir/file2.txt:child_dir2/:/home/user/file3.txt
[user@localhost ~]$ hcp -f source.list ...--例3: リモートが転送元2
[user@localhost ~]$ cat source.listfile1.txtchild_dir/file2.txtchild_dir2//home/user/file3.txt
[user@localhost ~]$ hcp -f source.list --source-file-host=127.0.0.1 ...--例4: リモートが転送元3
[user@localhost ~]$ cat source.list192.168.100.100:874:file1.txt192.168.100.100:874:child_dir/file2.txt192.168.100.100:874:child_dir2/192.168.100.100:874:/home/user/file3.txt
[user@localhost ~]$ hcp -f source.list ...--

source-file-host#

=========================================================================対応OS : Linux / Windows / Mac書式 : --source-file-host=<remote-host>[:<remote-port>]-------------------------------------------------------------------------remote-host既定値 : なし値の範囲 : IPアドレス もしくは ホスト名-------------------------------------------------------------------------remote-port既定値 : なし値の範囲 : ポート番号=========================================================================

source-fileオプションを指定する際に使用する接続先のリモートホストを指定します。

--例:[user@localhost ~]$ hcp --source-file-host=192.168.100.100 ...--

port#

=========================================================================対応OS : Linux / Windows / Mac書式 : --port=<remote-port>-------------------------------------------------------------------------remote-port既定値 : なし値の範囲 : ポート番号=========================================================================

接続先のリモートホストのサービスポート番号を指定します。--source-file-hostを使用する場合は、こちらのポート番号指定が優先されます。

--例:[user@localhost ~]$ hcp --port=1874 ...--

輻輳制御#

hpfp-cong#

=========================================================================対応OS : Linux / Windows / Mac書式 : --hpfp-cong=<hpfp_cong_mode>-------------------------------------------------------------------------hpfp_cong_mode既定値 : FAIR値の範囲 : FAIR(F), MODEST(M), FAIR_FAST_START(S), AGGRESSIVE(A)※ 括弧内は省略表記=========================================================================

HpFPプロトコルで使用する輻輳制御モードを指定します。

輻輳制御モードについては、指定したモードをサーバが許可しない場合は、FAIRが適用されます。この動作により異なるアルゴリズムが適用される場合は、次の様なログにより通知されます。

2018/07/05 13:20:44 00007f9a2dfa0700:INFO :Your requested congestion mode of HpFP will not be used (requested=AGGRESSIVE, actual=FAIR).
--例:[user@localhost ~]$ hcp ... --hpfp --hpfp-cong=S /path/to/src_file 192.168.10.100:65520:/path/to/dst_file--

データフロー制御・通信メッセージサイズ制御#

hpfp-mss#

=========================================================================対応OS : Linux / Windows / Mac書式 : --hpfp-mss=<hpfp_mss>-------------------------------------------------------------------------hpfp_mss書式 : ( NONE | N | <decimal_number>[[(T|G|M|K)]B] )既定値 : NONE値の範囲 : バイト換算で符号なし整数の範囲。NはNONEの略記。=========================================================================

HpFPプロトコルのMSS(Maximum Segment Size)を指定します。MTUサイズからプロトコルヘッダ44バイトを引いたサイズが最適値です。Nを指定した場合、HpFPプロトコルによるMTU探索を行い値を決定します。

--例:[user@localhost ~]$ hcp ... --hpfp --hpfp-mss=8956 /path/to/src_file 192.168.10.100:65520:/path/to/dst_file--

データフロー制御・データバッファ設定#

hpfp-sndbuf#

=========================================================================対応OS : Linux / Windows / Mac書式 : --hpfp-sndbuf=<hpfp_sndbuf>-------------------------------------------------------------------------hpfp_sndbuf書式 : <decimal_number>[[(T|G|M|K)]B]既定値 : 100MB (Linux.x86 / Windows / Mac) 8MB (Raspbian)値の範囲 : バイト換算で符号なし倍長整数の範囲。=========================================================================

HpFPプロトコルの送信バッファサイズを指定します(バイト単位)。

--例:[user@localhost ~]$ hcp ... --hpfp --hpfp-sndbuf=8MB /path/to/src_file 192.168.10.100:65520:/path/to/dst_file--

hpfp-rcvbuf#

=========================================================================対応OS : Linux / Windows / Mac書式 : --hpfp-rcvbuf=<hpfp_rcvbuf>-------------------------------------------------------------------------hpfp_rcvbuf書式 : <decimal_number>[[(T|G|M|K)]B]既定値 : 200MB (Linux.x86 / Windows / Mac) 16MB (Raspbian)値の範囲 : バイト換算で符号なし倍長整数の範囲。=========================================================================

HpFPプロトコルの受信バッファサイズを指定します(バイト単位)。

--例:[user@localhost ~]$ hcp ... --hpfp --hpfp-rcvbuf=16MB /path/to/src_file 192.168.10.100:65520:/path/to/dst_file--

データフロー制御・一時ファイル保存機能(アトミック(不可分)ファイル保存)#

overwrite-als-temp-file#

=========================================================================対応OS : Linux / Windows / Mac書式 : --overwrite-als-temp-file=========================================================================

アトミックライクな保存で既に存在する一時ファイルを上書きするように要求します。

このオプションを指定せずに一時ファイルが既に存在する場合は、そのファイルの転送はエラーと判定され中断されます。

また、サーバの設定AtomicLikeSavingRejectOverwriteRequestがyesの場合は、このオプションが指定されていてもサーバ上で既に存在する一時ファイルの上書きは拒否されます。

認証#

wss-no-check-certificate#

=========================================================================対応OS : Linux / Windows / Mac書式 : --wss-no-check-certificate=========================================================================

WebSocketプロトコルでSSL/TLSを使用する際に、サーバ証明書の検証を無効にするように指示します。証明書のCN(Common Name)名、期間、中間証明書・ルート証明書の検証を省略してサーバ証明書を受け付けます。

user#

=========================================================================対応OS : Linux / Windows / Mac書式 : --user=<username>-------------------------------------------------------------------------username既定値 : なし値の範囲 : ユーザ名文字列=========================================================================

ユーザ認証で使用するユーザ名を指定します。

--例:[user@localhost ~]$ hcp --user=user ...--

password#

=========================================================================対応OS : Linux / Windows / Mac書式 : --password=<password>-------------------------------------------------------------------------password既定値 : なし値の範囲 : パスワード文字列=========================================================================

ユーザ認証で使用する資格情報(パスワード、パスフレーズ)を指定します。

--例:[user@localhost ~]$ hcp --password=password ...--

通信再開機能#

r, resume#

=========================================================================対応OS : Linux / Windows / Mac書式 : -r <run-record-path> | --resume=<run-record-path>-------------------------------------------------------------------------run-record-path既定値 : なし値の範囲 : ファイルシステムのパス文字列=========================================================================

hcpコマンドの実行記録(.hcp.outに出力されるファイル転送の実行記録)を使用して、コマンドの再開(レジューム)を行います。

--例:[user@localhost ~]$ hcp ...[user@localhost ~]$ mv .hcp.out .hcp.in[user@localhost ~]$ hcp -r .hcp.in ...--

auto-resume#

=========================================================================対応OS : Linux / Windows / Mac書式 : --auto-resume=========================================================================

ネットワークの障害で中断した場合にコピー処理を自動で再開するように指示します。Ctrl+Cなどでユーザから中断を指示した場合は、その時点で再開はせず停止します。

パスワードで暗号化されていない秘密鍵を使用した公開鍵認証で利用を推奨します。パスワードが必要な場合、再認証による対話動作を回避するために認証情報をメモリ上にキャッシュします。

性能評価機能#

N, no-send#

=========================================================================対応OS : Linux / Windows / Mac書式 : -N | --no-send=========================================================================

ネットワークへのデータ送信を抑制します。

このオプションは、転送元でのディスクI/Oやデータ処理の性能を確認する目的で使用します。

--例:[user@localhost ~]$ hcp -N ...--

n, no-diskio#

=========================================================================対応OS : Linux / Windows / Mac書式 : -n <bench_spec> | --no-diskio=<bench_spec> bench_spec := <number_of_files>:<file_size>-------------------------------------------------------------------------number_of_files既定値 : なし値の範囲 : 符号なし整数-------------------------------------------------------------------------file_size既定値 : なし値の範囲 : 符号なし倍長整数=========================================================================

転送元及び転送先でのローカルI/O を抑制します。

このオプションは、ネットワーク通信の性能を確認する目的で使用します。オプションの各パラメータの意味は次の通りです。

number_of_files := 送信するファイル数file_size := ファイル毎に送信するサイズ(単位 バイト)

オプションの値を"0:0"で指定した場合は、転送元のパスを通常の動作で探索してファイル転送を行います(permissionオプションのためのファイル属性情報の参照やファイルからのデータの読込みなどの処理は行われません)。

本オプションは、転送元に/dev/zeroを指定した場合にも使用します。この場合は、本オプションのfile_sizeで指定されたサイズだけ/dev/zeroからデータを読み取り転送を行い、転送先では実際にファイルにデータを書き込みます(前述の動作と異なりI/O処理は省略されません)。通常は、転送先に/dev/nullを指定して、スペシャルデバイスでの読み書きのみを追加で行い、通信パフォーマンスを確認する目的で使用します。

--例:[user@localhost ~]$ hcp -n 1000:1048576 ...例2:[user@localhost ~]$ hcp -n 1:1048576 /dev/zero 192.168.10.100:874:/dev/null--

ログ管理機能#

log-file#

=========================================================================対応OS : Linux / Windows / Mac書式 : --log-file=<log-file-path>-------------------------------------------------------------------------log-file-path既定値 : なし値の範囲 : ファイルシステムのパス文字列=========================================================================

hcpコマンドのログを指定したパスのファイルに出力します。

--例:[user@localhost ~]$ hcp --log-file=hcp.log ...--

stat-log-file#

=========================================================================対応OS : Linux / Windows / Mac書式 : --stat-log-file=<log-file-path>-------------------------------------------------------------------------log-file-path既定値 : なし値の範囲 : ファイルシステムのパス文字列=========================================================================

hcpコマンドが出力する統計ログの基準パスを指定します。

指定されたパスに接尾辞を付加して各統計ログが出力されます。

<指定されたパス>.application (アプリケーション統計)<指定されたパス>.transport.tcp (TCPトランスポート統計)<指定されたパス>.transport.hpfp (HpFPトランスポート統計)<指定されたパス>.transport.ws (WS/WSSトランスポート統計)
--例:[user@localhost ~]$ hcp --stat-log-file=.hcp.statistics2 ...--

hcp-out#

=========================================================================対応OS : Linux / Windows / Mac書式 : --hcp-out=<output-path>-------------------------------------------------------------------------output-path既定値 : なし値の範囲 : ファイルシステムのパス文字列=========================================================================

ファイル転送の実行記録を出力するファイルを指定します。本オプションで出力される情報は、resumeオプションで必要となります。

--例:[user@localhost ~]$ hcp --hcp-out=- ...SRC /home/user/Desktop/hcp_src5DST 127.0.0.1:11112:/home/user/Desktop/hcp_dst5OK 0000 FS 80000001 /home/user/Desktop/hcp_src5/file1.txtOK 0000 FT 00000001 /home/user/Desktop/hcp_src5/file1.txtEXIT 0 REASON 0000--

本オプションを指定しない場合は、実行記録は実行ディレクトリの次のファイルなどに記録されます。

.hcp.out (Linux)_hcp.out (Windows)

"-"を指定した場合は、標準出力に出力します。

FT (File Transfer)は、ファイル転送処理を表します。書式は次の通りです。

<result> <reason> FT <sequence> [<src_label> ]<path>

resultは、処理結果(OKもしくはNG)が記録されます。

reasonは、その処理結果の理由として後述のファイル処理理由コードが記録されます。

sequenceは、この処理に割り当てられた番号(シーケンス番号)が記録されます。

src_labelは、この処理で扱われるファイルに対応するソースのラベルが次の書式で記録されます。

SRC<src_index>

src_indexは、コマンドで指定したソースの添え字が記録されます。

pathは、この処理で扱われるファイルパスが記録されます。コマンドを実行しているホストのパスが記録されます。

複数のソースが指定された場合は、次の様な内容で進捗情報が記録されます。

--例:SRC0 /home/user/Desktop/hcp_src5\SRC1 /home/user/Desktop/hcp_src6\DST 127.0.0.1:11112:/home/user/Desktop/hcp_dst5\OK 0000 FS 80000001 SRC0 /home/user/Desktop/hcp_src5/file1.txt\OK 0000 FS 80000002 SRC0 /home/user/Desktop/hcp_src5/file2.txt\OK 0000 FS 80000003 SRC1 /home/user/Desktop/hcp_src6/file3.txt\OK 0000 FS 80000004 SRC1 /home/user/Desktop/hcp_src6/file4.txt\OK 0000 FT 00000001 SRC0 /home/user/Desktop/hcp_src5/file1.txt\OK 0000 FT 00000002 SRC0 /home/user/Desktop/hcp_src5/file2.txt\OK 0000 FT 00000003 SRC1 /home/user/Desktop/hcp_src6/file3.txt\OK 0000 FT 00000004 SRC1 /home/user/Desktop/hcp_src6/file4.txt\EXIT 0 REASON 0000\--

FS (File Sync)は、ファイル同期処理を表します。転送先のファイルが転送元に存在せず本同期処理によって削除される場合は、次の様に記録されます。

--例:\SRC /home/user/Desktop/hcp_src5\DST 127.0.0.1:11112:/home/user/Desktop/hcp_dst5\OK 0000 FS 80000001 /home/user/Desktop/hcp_src5/file1.txt\OK 0000 FS 80000002 /home/user/Desktop/hcp_src5/file2.txt\OK A001 FS 80000003 /home/user/Desktop/hcp_src5/file3.txt\OK 0000 FT 00000001 /home/user/Desktop/hcp_src5/file1.txt\OK 0000 FT 00000002 /home/user/Desktop/hcp_src5/file2.txt\EXIT 0 REASON 0000\--

ソースが複数ある場合は、ソースラベルの添え字が"?"で表記されます。

--例:\SRC0 /home/user/Desktop/hcp_src5\SRC1 /home/user/Desktop/hcp_src6\DST 127.0.0.1:11112:/home/user/Desktop/hcp_dst5\OK 0000 FS 80000001 SRC0 /home/user/Desktop/hcp_src5/file1.txt\OK 0000 FS 80000002 SRC0 /home/user/Desktop/hcp_src5/file2.txt\OK 0000 FS 80000003 SRC1 /home/user/Desktop/hcp_src6/file3.txt\OK 0000 FS 80000004 SRC1 /home/user/Desktop/hcp_src6/file4.txt\OK A001 FS 80000005 SRC? /home/user/Desktop/hcp_src6/file5.txt\OK 0000 FT 00000001 SRC0 /home/user/Desktop/hcp_src5/file1.txt\OK 0000 FT 00000002 SRC0 /home/user/Desktop/hcp_src5/file2.txt\OK 0000 FT 00000003 SRC1 /home/user/Desktop/hcp_src6/file3.txt\OK 0000 FT 00000004 SRC1 /home/user/Desktop/hcp_src6/file4.txt\EXIT 0 REASON 0000\--

最後の行にこの実行の終了ステータスと理由コードが次の書式で記録されます。

EXIT <exit_status> REASON <reason_code>

後述の設定項目UseProperCopyAndSyncをyesに設定した場合は、ディレクトリ探索時に上書きに関する判定結果が次の書式で記録されます。

<result> <reason> DE <sequence> [<src_label> ]<path>

multi-run#

=========================================================================対応OS : Linux / Windows / Mac書式 : --multi-run=<record-path>[:<output-switch>]-------------------------------------------------------------------------record-path既定値 : なし値の範囲 : ファイルシステムのパス文字列-------------------------------------------------------------------------output-switch書式 : ( (A|T|R|L)[...] | THRU | FULL )既定値 : THRU=========================================================================

クライアントを多重起動モードで起動します。本オプションを指定した場合は、その指定に従い次の記録(ログ)を指定のディレクトリにユニークなファイル名で保存します。同一のディレクトリで複数のクライアントで作業する場合や、バックグランド実行を行う場合などに利用します。

  • アプリケーション統計
  • トランスポート統計
  • 結果出力
  • アプリケーションログ

record-pathは、前述の記録(ログ)を保存するディレクトリを指定します。

output-switchは、前述の記録(ログ)の出力を制御する指示を指定します。

Aはアプリケーション統計を表し、指定すると上記ディレクトリに次のファイル名でアプリケーション統計を記録します。

hcp.mr.<YYYYMMDD_hhmmss_msec>.<pid>.statistics.application

Tはトランスポート統計を表し、指定すると上記ディレクトリに次のファイル名でトランスポート統計を記録します。

hcp.mr.<YYYYMMDD_hhmmss_msec>.<pid>.statistics.transport.<protocol>

Rは実行記録を表し、指定する上記ディレクトリに次のファイル名でコマンドの実行記録を記録します。

hcp.mr.<YYYYMMDD_hhmmss_msec>.<pid>.out

Lはアプリケーションログを表し、指定すると上記ディレクトリに次のファイル名でログを記録します。

hcp.mr.<YYYYMMDD_hhmmss_msec>.<pid>.log

FULLは、"ATRL"を指定した場合と同じ動作をします。

THRUは、設定ファイルやコマンド引数の指定に従って記録の出力を行います。設定ファイルでアプリケーション統計(トランスポート統計)が有効に設定されている場合は、上記のファイル名にアプリケーション統計(トランスポート統計)を記録します。結果出力(アプリケーションログ)がファイル出力に設定されている場合(-vオプション未指定、-lオプション指定)は、上記のファイル名に実行記録(ログ)を記録します。

--例:[user@localhost ~]$ hcp --multi-run=/var/tmp:ATR // ログは標準出力に出す。他は、/var/tmp配下に出力--

ソフトウェアの情報確認#

V, version#

=========================================================================対応OS : Linux / Windows / Mac書式 : -V | --version=========================================================================

hcpコマンドのバージョンを表示します。

--例:[user@localhost ~]$ hcp -Vhcp client (hcp) 1.4.9_5 / Linux (HpFP2 2.0.0.91_21 WSAPI 0.0.1.34 WS 4.2.0-2)--

config-test#

=========================================================================対応OS : Linux / Windows / Mac書式 : --config-test=========================================================================

hcpコマンドの入力パラメータ及び設定情報を出力します。

--例:[user@localhost ~]$ hcp --config-test...
Number of Logical Processors  : 2Number of Physical Processors : 2
Command parameters permission     : disable recursive      : disable anydirs        : disable regex          : disable verify         : disable compress       : disable copy-linkfile  : disable(don't copy symlink file) follow-linkdir : disable(don't follow symlink directory) dereference-src: disable no-emptyfile   : disable(copy) no-emptydir    : disable(copy) no-dotfile     : disable(copy) no-dotdir      : disable(copy) copy-hidden    : disable(don't copy) archive-check  : disable(don't check archive property) resume         : disable no-send        : disable no-diskio      : disable (0, 0) copy-mode      : disable [ALLCOPY] overwrite      : disable [FORCE] fail-action    : disable [HALT] source-file    : disable source-file-host : disable port     : disable auto-resume : disable user           : disable password       : disable version        : disable help           : disable mcd : -
Target source:
Target destination:
Configuration parameters AtomicLikeSaving                 : no .tmp NONE [threshold=0] PubkeyAuthentication             : yes WinLogonUserAuthentication       : yes PAMAuthentication                : yes LocalPasswordAuthentication      : yes CompressLevel                    : -1 StrictHostKeyChecking            : ask PrivateKeyFile                   : - [~/.hcp/id_rsa] TransportTimeout                 : 180 FileLock                         : no AcceptableCryptMethod            : AES256/GCM AES256/CTR/VMAC AES256/CBC AES128/CBC [Intel:AES-NI=yes] AcceptableDigestMethod           : XXH3 SHA256 SHA160
Please type '--config-test --config-test ...' for more details.--

より詳細な設定出力を確認する場合は、続けて--config-testを指定します(他のクライアントのコマンドも同様)。

h, help#

=========================================================================対応OS : Linux / Windows / Mac書式 : -h | --help=========================================================================

hcpコマンドのヘルプを表示します。

--例:[user@localhost ~]$ hcp -h--

システム動作環境設定#

config-file#

=========================================================================対応OS : Linux / Windows / Mac書式 : --config-file=<config-file-path>-------------------------------------------------------------------------config-file-path既定値 : なし値の範囲 : ファイルシステムのパス文字列=========================================================================

hcpコマンドが使用する設定ファイルのパスを指定します。

hcpコマンドは、次の順に設定ファイルの読込みを行います。

  1. /etc/hcp/hcp.conf
  2. \<ユーザホームディレクトリ>/.hcp/hcp.conf
  3. \<本オプションで指定されたパス>

ファイルが存在しない場合は、読込みはスキップされます。いずれのファイルでも設定ファイルの読込みが成功しなかった場合は、設定ファイルの読込みエラーとなり動作は停止します。

--例:[user@localhost ~]$ hcp --config-file=hcp.conf ...--

config-option#

=========================================================================対応OS : Linux / Windows / Mac書式 : --config-option=<config-file-option-desc>-------------------------------------------------------------------------cconfig-file-option-desc既定値 : なし値の範囲 : 設定ファイルに記述する設定項目の内容=========================================================================

設定ファイルの設定項目をコマンドラインの引数から指定します。設定ファイルに記述する代わりにコマンドラインから指定したい場合などに使用します。

本オプションで指定した値は、設定ファイルの設定が反映された後に上書き設定されます。

--例:[user@localhost ~]$ hcp --config-option="ApplicationLog DEBUG" ...--

include-conf-from-cwd#

=========================================================================対応OS : Linux / Windows / Mac書式 : --include-conf-from-cwd=========================================================================

設定ファイルのIncludeに相対パスが記述された場合に、実行ディレクトリからの相対パスでインクルードするファイルを探します。

no-earlier-serv-compat#

=========================================================================対応OS : Linux / Windows / Mac書式 : --no-earlier-serv-compat=========================================================================

接続するサーバのバージョンが古い場合に行われるサーバ後方互換対応を無効にします。この互換対応は、特定の機能を使用しない場合に実行されることがあります。この動作を無効にします(従来通りクライアントが古い場合のみ後方互換動作を行う)。後方互換対応が動作する条件は、後述の「サーバ後方互換対応条件表」を参照してください。