Skip to main content

Client Command (hcp)

The hcp command works to transfer files between the remote server and the hcpd daemon and also to copy files in the local network.

Basic Format

The basic format is as follows.

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

Option List

The options for the hcp commands are below.

Copy

DescriptionShort NameOption Name
Keep source permissionppermission
Recursive copyRrecursive
Regular expression use (Wildcard exemption)gregex
Search any directories (Wildcard or regular expression is exempted)Yanydirs
Verify transfer data/files by the message digestyverify
Transmit compressed data blockszcompress
Resolve symbolic links (Dereference) and copy filesscopy-linkfile
Resolve symbolic directory and copy filesSfollow-linkdir
resolve symbolic links specified on SOURCE to copyHdereference-src
Skip copying empty fileseno-emptyfile
Skip copying empty directoriesEno-emptydir
Skip copying the files whose names start with '.'.dno-dotfile
Skip copying the directories whose names start with '.'.Dno-dotdir
Copy the files with hidden attributesIcopy-hidden
Copy the files with archive attributesAarchive-check
Copy the files being aware of sparse filessparse
Copy modemcopy-mode
Overwrite modeooverwrite
Specify how to behave when commands failafail-action
Sequentially read data with the read function (when a device file is specified as a source)reading-dev
Read data of devices via Mapped I/O (when a device file is specified as a source)reading-dev-via-mmap
Set the transfer expiration by secondtransfer-expire
Control message out-of-order suppress modeno-out-of-order-header-messaging
Preserve read-only attributes of Windows files and folderspreserve-win-read-only
Disable skipping HCP files in transferno-skip-hcp-file

Selectable Communication Method Function

DescriptionShort NameOption Name
The HpFP protocolhpfp
The WebSocket protocol(SSL/TLS)wss
The port-separation UDP(HpFP) protocol(deprecated)udp
The WebSocket protocol (plaintext communications)ws
Directly connect to the Proxy server when the WebSocket protocolws-proxy-direct
Set the Proxy server when the WebSocket protocolws-proxy
Multiple connectionsmcd

File I/O Extension Function

DescriptionShort NameOption Name
Use file I/O extension (beta, Linux)fio-extension
Use Direct I/O (beta, Linux)fio-direct
Use Linux asynchronous I/O (beta, Linux)fio-async-linux
Alignment size on Direct I/Ofio-direct-align
Alignment size on source sitefio-direct-align-local
Alignment size on destination sitefio-direct-align-remote
How to malloc with alignmentfio-direct-malloc
Reuse allocated memory with alignmentfio-direct-reuse-aligned
Threshold of files for Direct I/Ofio-direct-threshold
Maximum events of asynchronous I/Ofio-async-max-events
Maximum events to get on asynchronous I/Ofio-async-max-get-events
Timeout on getting events on asynchronous I/Ofio-async-get-events-timeo
How making pre-allocation of storagefio-fallocate
Unit size of the pre-allocationfio-fallocate-unit
Suppress file I/O extension on source sitefio-no-extension-local
Suppress file I/O extension on destination sitefio-no-extension-remote
Force file I/O extension for all filesfio-extension-always

Multiple File Batch Transfer Function

DescriptionShort NameOption Name
Copy with a specified source file listfsource-file
Set the remote host (in use of the source file)source-file-host
Set the remote port (in use of the source file)port

Congestion Control

DescriptionShort NameOption Name
Congestion control modes in the HpFP protocolhpfp-cong

Data Flow Control, Message Data Size Control

DescriptionShort NameOption Name
MSS(Maximum Segment Size) in the HpFP protocolhpfp-mss

Data Flow Control, Data Buffer Setting

DescriptionShort NameOption Name
Set the sending buffer size for the HpFP protocolhpfp-sndbuf
Set the receiving buffer size for the HpFP protocolhpfp-rcvbuf

Data Flow Control, Temporary File Save Function (Atomic File Save)

DescriptionShort NameOption Name
Request for overwriting temporary filesoverwrite-als-temp-file

Authentication

DescriptionShort NameOption Name
Don't use agentno-agent
Select identityident-select
Server certificate checking is disabled in WebSocket protocol communicationswss-no-check-certificate
Specify a username first and transferuser
Specify a password first and transferpassword

Retransmission Function

DescriptionShort NameOption Name
Resume the previous proceedingrresume
Automatically resume copying when it stops due to the network issuesauto-resume
Disable integrity check on resumeno-integrity-on-resume

Various Monitorings

DescriptionShort NameOption Name
Investigation mode starts (deprecated)investigation

Performance Evaluation

DescriptionShort NameOption Name
Measure disk I/O performanceNno-send
Measure the network I/O performance of communication protocolnno-diskio
No disk I/O, but keep readingno-diskio-keep-read
No disk I/O, but keep writingno-diskio-keep-write
No disk I/O and Direct I/O, but keep malloc with alignmentno-diskio-keep-memalign

Log Management

DescriptionShort NameOption Name
Suppress non-error messagesqquiet
Specify an application diagnostic log output destinationhcp-diag
Specify various statistics log output destinationsstat-log-file
Specify an execution record output destinationhcp-out
Start in the multiple-run modemulti-run

Software Information Update

DescriptionShort NameOption Name
Check the application versionVversion
Check the configuration and input parametersconfig-test
Display the command helphhelp

System Operating Environment Settings

DescriptionShort NameOption Name
Setting form a path of the configuration fileconfig-file
Make configuration from command lineconfig-option
Show configuration option's namesshow-config-options
Setting by a relative path from the current directoryinclude-conf-from-cwd
Server compatibility disabledno-earlier-serv-compat

Check System Information

DescriptionShort NameOption Name
Show system infosystem-info
Run host benchmarkrun-host-benchmark
Specify measurement categories on the benchmarkrun-host-benchmark-categories

Please refer to the hcpd command section on the following option.

--investigation

Copy

p, permission

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -p | --permission
=========================================================================

The file permission from the source (UID/GID, the flag with the execution right and so on) and file attributes (modification date and so on) are stored in the destination. When the permission and file attributes can’t be stored in the destination due to the access right, the attributes applied by OS when written in the file are kept.

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

R, recursive

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -R | --recursive
=========================================================================

The directory from source is searched recursively and the file is transfered.

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

g, regex

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -g | --regex
=========================================================================

The path from source is regarded as a regular expression.The path from source is regarded as a pattern string including wildcard (*) when no use of the option.

When specified path from source is not found as a directory or a file,verification by regular expression is carried out.In searching files, the names of files and directories are verified in this way.Files and directories which doesn’t match the pattern is skipped.Pattern strings is chosen from the strings after the last path delimiter (“/”).

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

Y, anydirs

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -Y | --anydirs
=========================================================================

In the case that pattern matching is set by regex option or wildcard, directory search is carried out ignoring the pattern matching.

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

y, verify

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -y | --verify
=========================================================================

Data blocks and files to send are verified by message digest.

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

z, compress

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -z | --compress
=========================================================================

Data blocks to send are compressed.

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

s, copy-linkfile

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -s | --copy-linkfile
=========================================================================

hcp copies files that a symbolic link refers. A symbolic link is created in the destination, when this option is not used.

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

S, follow-linkdir

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -S | --follow-linkdir
=========================================================================

hcp searches the directories that a symbolic link refers.

It should be noted that much data processing may happen with using this option, which is not unexpected with the information (number of files and their total size) got from the source path without resolving cyclic directory searches or its link.

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

H, dereference-src

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -H | --dereference-src
=========================================================================

hcp makes dereference of symbolic links specified on SOURCE to copy files and directories.

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

e, no-emptyfile

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -e | --no-emptyfile
=========================================================================

hcp dose not copy empty files.

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

E, no-emptydir

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -E | --no-emptydir
=========================================================================

hcp dose not copy empty directories that have no files and no directories.

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

d, no-dotfile

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -d | --no-dotfile
=========================================================================

hcp dose not copy files whose name starts with “.”.

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

D, no-dotdir

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -D | --no-dotdir
=========================================================================

hcp dose not copy directories whose name starts with “.”.

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

I, copy-hidden

=========================================================================
Supported OS : Windows
Format : -I | --copy-hidden
=========================================================================

hcp copies hidden files.

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

A, archive-check

=========================================================================
Supported OS : Windows
Format : -A | --archive-check
=========================================================================

hcp copies files having archive attributes.

When the destination OS is Windows including the case when this option isn’t set, the archive attribute is set at the right time following the OS behavior.(This software doesn’t set any archive attribute configurations even when creating a new file and updating.)

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

sparse

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --sparse
=========================================================================

This option tells hcp to transfer some sparse (including holes) files with detecting holes and reproducing them at writing.

If you do not use this option, the holes will be padded with zero data in the transfer.

--
Example:
[user@localhost ~]$ hcp --sparse ...
--

m, copy-mode

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -m <mode_name> | --copy-mode=<mode_name>
-------------------------------------------------------------------------
mode_name
Default : ALLCOPY
Range of Values : ALLCOPY, UPDATE, DIFF, DIFF_STRICT, SYNC
=========================================================================

The file copy mode is set.

ALLCOPY means copying all files.

In the UPDATE mode, the source file and the destination file are compared and when the source file is newer than the destination one, hcp copies the source file.

In the DIFF mode, the file size is also compared in addition to UPDATE.

In the DIFF_STRICT mode, the hashes of files are also compared in addition to DIFF.

In the SYNC mode, the destination file which doesn’t exists in the source,is deleted.(synchronization)

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

o, overwrite

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -o <overwrite_name> | --overwrite=<overwrite_name>
-------------------------------------------------------------------------
overwrite_name
Default : FORCE
Range of Values : CONFIRM, FORCE, RENAME, BACKUP
=========================================================================

As for overwriting,the mode is set.

The CONFIRM mode overwrites with confirmation.

The FORCE mode overwrites without confirmation.

The RENAME mode renames the file by adding a following suffix on the original file names before overwriting.

.YYMMDD_HHMMSS.NNN (NNN are the sequence numbers)

The BACKUP mode moves the original file to the following backup directory before overwriting.

./YYMMDD_HHMMSS/

The directory name is created in the unique process during transactions.

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

a, fail-action

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -a <action_name> | --fail-action=<action_name>
-------------------------------------------------------------------------
action_name
Default : HALT
Range of Values : HALT, SKIP
=========================================================================

The behavior in the case of file copy errors is set.

When some problems happen in file copying,The HALT mode stops the copy.

When some problems happen in file copying,The SKIP mode skips that file and keeps copying the next possible files.

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

reading-dev

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --reading-dev
=========================================================================

It reads data with the read function, when any block devices or character devices are specified at the source.

reading-dev-via-mmap

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --reading-dev-via-mmap
=========================================================================

It reads data with Mapped I/O, when any block devices or character devices are specified at the source.

transfer-expire

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --transfer-expire=<expire_sec>
-------------------------------------------------------------------------
expire_sec
Default : none
Range of Values : number of seconds until expiration
=========================================================================

Transferring files will be stopped at the specified second. As long as the file transferring completes in the specified time, it finishes transferring normally.

no-out-of-order-header-messaging

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --no-out-of-order-header-messaging
=========================================================================

It suppresses out-of-order of the control message (including file request messages). It unlocks the behaviors such as sending only control messages by the primary connection in the multiple connection mode and the content data (messages including file payload) in the secondary connection. It enables to send all messages in all connections.

preserve-win-read-only

=========================================================================
Supported OS : Linux / Windows
Format : --preserve-win-read-only
=========================================================================

The read-only attribute on Windows in the destination is kept. It is applied when the read-only attribute on Windows in the destination is enabled, or Unix owners have only read access.

no-skip-hcp-file

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --no-skip-hcp-file
=========================================================================

In default, hcp becomes skipping the following files from its file transfer. This option will disable this skipping function.

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

Selectable Communication Method Function

hpfp

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --hpfp
=========================================================================

It instructs transport to use HpFP protocol.

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

wss

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --wss
=========================================================================

It instructs transport to use WebSocket protocol (SSL/TLS).

udp

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --udp=<hpfp_options>
hpfp_options := <hpfp_udp_port>:<hpfp_cong_mode>:<hpfp_sndbuf>:<hpfp_rcvbuf>:<hpfp_mss>
-------------------------------------------------------------------------
hpfp_udp_port
Format : ( DEFAULT | D | <decimal_number> )
Default : 65520
Range of Values : decimal_number is 1 - 65535. D stands for DEFAULT
-------------------------------------------------------------------------
hpfp_cong_mode
Default : FAIR
Range of Values : DEFAULT(D), FAIR(F), MODEST(M), FAIR_FAST_START(S), AGGRESSIVE(A)
() is abbreviated notation.
-------------------------------------------------------------------------
hpfp_sndbuf
Format : ( DEFAULT | D | <decimal_number>[[(T|G|M|K)]B] )
Default :
100MB (Linux.x86 / Windows / Mac)
8MB (Raspbian)
Range of Values : unsigned double-length integer in byte. D stands for DEFAULT.
-------------------------------------------------------------------------
hpfp_rcvbuf
Format : ( DEFAULT | D | <decimal_number>[[(T|G|M|K)]B] )
Default :
200MB (Linux.x86 / Windows / Mac)
16MB (Raspbian)
Range of Values : unsigned double-length integer in byte. D stands for DEFAULT.
-------------------------------------------------------------------------
hpfp_mss
Format : ( DEFAULT | D | NONE | N | <decimal_number>[[(T|G|M|K)]B] )
Default : NONE
Range of Values : unsigned integer (byte) D stands for DEFAULT. N stands for NONE.
=========================================================================

This option is going to be deprecated.

It instructs transport to use HpFP protocol.

hpfp_udp_port specifies the UDP port number used in HpFP protocol.

hpfp_cong_mode specifies congestion control mode.

The sending buffer size of the HpFP protocol is set in hpfp_sndbuf in bytes.

The receiving buffer size of the HpFP protocol is set in hpfp_rcvbuf in bytes.

The MSS (Maximum Segment Size) of the HpFP protocol is set in hpfp_mss.The best size is the size of the MTU size minus 44 bytes of the protocol header.“N (NONE)” means none specified. When it’s “D”, the default value is used. when “N”, it is decided by the MTU serch in HpFP protocol.

Regarding congestion control mode, if the server desn’t accept the mode, FAIR is applied. When different algorism that user isn’t meant to is applied by this operation, which is notified by the following log.

2018/07/05 13:20:44 00007f9a2dfa0700:INFO :Your requested congestion mode of HpFP will not be used (requested=AGGRESSIVE, actual=FAIR).

--
Example:
[user@localhost ~]$ hcp --udp=D:S:4MB:8MB:8956B ...
--

ws

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --ws
=========================================================================

It instructs transport to use the WebSocket protocol (cleartext).

ws-proxy-direct

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --ws-proxy-direct
=========================================================================

It instructs not to use proxy servers when the WebSocket protocol is used.

ws-proxy

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --ws-proxy=<proxy_server>
-------------------------------------------------------------------------
proxy_server
Format : <proxy_server_address>:<proxy_server_port_number>
Default : none
Range of Values : proxy server address and port number
=========================================================================

A proxy server for the WebSocket protocol is specified, which is applied regardless of whether SSL/TLS is used. When it is not specified, it follows the system proxy setting.

mcd

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --mcd=<multiple_connection_degree>
-------------------------------------------------------------------------
multiple_connection_degree
Default : none
Range of Values : 1 - 65535
=========================================================================

The maximum of the multiple connections is specified. If not specified, it makes connections up to the maximum of the multiple connection setting on the server service. When 1 is set, it transmits by a single connection. In the case of over the maximum connections on the server service, it makes connections up to that.

File I/O Extension Function

fio-extension

=========================================================================
Supported OS : Linux (beta)
Format : --fio-extension
=========================================================================

This option tells the hcp command to use file I/O extension for reading and writing files.

When this option is specified, the following configuration will be applied.

  • Direct I/O and Linux asynchronous I/O
  • Direct I/O alignment auto detection
  • Direct I/O threshold 1GB
  • Asynchronous I/O maximum events 32
  • Storage pre-allocation native/256MB
    --
    Example:
    [user@localhost ~]$ hcp --fio-extension 1GB.src.dat 192.168.10.100:1GB.dst.dat
    --

fio-async-linux

=========================================================================
Supported OS : Linux (beta)
Format : --fio-async-linux
=========================================================================

This option tells the hcp command to use Linux asynchronous I/O for reading and writing files. The fio-direct will be implied (no need to specify it explicitly).

Please use this option when you want to specify it explicitly.

When a writing process is crashed (unexpectedly stopped) using this option and an option for pre-allocation of storage (fio-fallocatte option descibed below), resuming transfer (using the resume option) might starts with the head of a file (new transfer).

--
Example:
[user@localhost ~]$ hcp --fio-async-linux 1GB.src.dat 192.168.10.100:1GB.dst.dat
--

fio-direct

=========================================================================
Supported OS : Linux (beta)
Format : --fio-direct
=========================================================================

This option tells the hcp command to use Direct I/O for reading and writing files. The fio-extension will be implied (no need to specify it explicitly).

Please use this option when you want to use only Direct I/O without Linux asynchronous I/O.

--
Example:
[user@localhost ~]$ hcp --fio-direct 1GB.src.dat 192.168.10.100:1GB.dst.dat
--

fio-direct-align

=========================================================================
Supported OS : Linux
Format : --fio-direct-align=<alignment>
-------------------------------------------------------------------------
alignment
Format : <decimal_number>[[(G|M|K)]B]
Default : none
Range of Values : unsigned integer (byte)
=========================================================================

This option sets an alignment size in bytes of reading and writing buffers for Direct I/O.

When it is not specified or ‘0’ is specified, the hcp command will be looking for a size on the host system (auto detection).

--
Example:
[user@localhost ~]$ hcp ... --fio-direct-align=8KB ...
--

fio-direct-align-local

=========================================================================
Supported OS : Linux
Format : --fio-direct-align-local=<alignment>
-------------------------------------------------------------------------
alignment
Format : <decimal_number>[[(G|M|K)]B]
Default : none
Range of Values : unsigned integer (byte)
=========================================================================

This option sets an alignment size in bytes on local site (client) for Direct I/O.

Please use this option to specify different sizes on source and destination.

fio-direct-align-remote

=========================================================================
Supported OS : Linux
Format : --fio-direct-align-remote=<alignment>
-------------------------------------------------------------------------
alignment
Format : <decimal_number>[[(G|M|K)]B]
Default : none
Range of Values : unsigned integer (byte)
=========================================================================

This option sets an alignment size in bytes on remote site (server) for Direct I/O.

Please use this option to specify different sizes on source and destination.

fio-direct-malloc

=========================================================================
Supported OS : Linux
Format : --fio-direct-malloc=<how_malloc>
-------------------------------------------------------------------------
how_malloc
Default : malloc_h
Range of Values : posix, malloc_h, malloc_f
=========================================================================

This option specifies how to make memory allocation with alignment on direct I/O. This will be applied for making allocation of memory area holding data blocks which are created from file payload on file transfer.

When ‘posix’ is specified, hcp makes that allocation using the standard function of ‘posix_memalign’.

When ‘malloc_h’ is specified, hcp makes that allocation using an implementation which provides an aligned address using the standard function of ‘malloc’ with saving management information for alignment at its header part.

When ‘malloc_f’ is specified, hcp makes that allocation using an implementation which provides an aligned address using the standard function of ‘malloc’ with saving management information for alignment at its footer part.

When using ‘posix’, the memory allocation performance might be decreased. Please use it when you just need to use the standard function of ‘posix_memalign’.

Please use ‘malloc_f’ as alternative for ‘malloc_h’ (default) when you do not meet an expected performance using ‘malloc_h’.

--
Example:
[user@localhost ~]$ hcp ... --fio-direct-malloc=posix ...
--

The old name of ‘fio-direct-aligned-malloc’ is available.

fio-direct-reuse-aligned

=========================================================================
Supported OS : Linux
Format : --fio-direct-reuse-aligned
=========================================================================

This option tells hcp to reuse allocated memory area with alignment on direct I/O.

When using this option, hcp make cache of that allocated memory areas with alignment after using them holding data blocks without releasing them for the future data blocks. The capacity of cache is 1GB each running process. When a data block that a cached memory area cannot hold in length is created, that area will be released and hcp makes a new memory area for that block.

Please use this option in cases where reading and writing performance on disks are not expected in 100Gbps environment.

--
Example:
[user@localhost ~]$ hcp ... --fio-direct-reuse-aligned ...
--

fio-direct-align-threshold

=========================================================================
Supported OS : Linux
Format : --fio-direct-threshold=<file_size>
-------------------------------------------------------------------------
file_size
Format : <decimal_number>[[(T|G|M|K)]B]
Default : 1GB
Range of Values : signed double-length integer (byte)
=========================================================================

This option specifies a threshold in a file size for Direct I/O.

--
Example:
[user@localhost ~]$ hcp ... --fio-direct-threshold=2GB ...
--

fio-async-max-events

=========================================================================
Supported OS : Linux
Format : --fio-async-max-events=<max_events>
-------------------------------------------------------------------------
max_events
Default : 32
Range of Values : signed integer
=========================================================================

This option specifies a maximum number of events on asynchronous I/O.

--
Example:
[user@localhost ~]$ hcp ... --fio-async-max-events=16 ...
--

fio-async-max-get-events

=========================================================================
Supported OS : Linux
Format : --fio-async-max-get-events=<max_get_events>
-------------------------------------------------------------------------
max_get_events
Default : 1
Range of Values : signed integer
=========================================================================

This option specifies a maximum number of events to get on asynchronous I/O. This changes the maximum number of events to get by calling each ‘io_getevents’ function.

Please use this option to break down causes in cases where reading and writing performance on disks are not expected in 100Gbps environment.

--
Example:
[user@localhost ~]$ hcp ... --fio-async-max-get-events=4 ...
--

fio-async-get-events-timeo

=========================================================================
Supported OS : Linux
Format : --fio-async-get-events-timeo=<timeo>
-------------------------------------------------------------------------
timeo
Default : 0
Range of Values : signed double-lengeth integer (microseconds)
=========================================================================

This option specifies a timeout to get events on asynchronous I/O in microseconds. ‘0’ means disabling the timeout (no timeout).

Please use this option to break down causes around affection of indicating timeouts on calling ‘io_getevents’ function in cases where reading and writing performance on disks are not expected in 100Gbps environment.

--
Example:
[user@localhost ~]$ hcp ... --fio-async-get-events-timeo=1000 ... // timeout of 1 milliseconds
--

fio-fallocate

=========================================================================
Supported OS : Linux
Format : --fio-fallocate=<how_allocate>
-------------------------------------------------------------------------
how_allocate
Default : native
Range of Values : native, standard, none
=========================================================================

This option tells the hcp command how to make pre-allocation of storage on writing files.

When ‘native’ is specified, it uses a platform dependent function for the allocation (fallocate on Linux).

When ‘standard’ is specified, it uses a standard function for the allocation (posix_fallocate on Linux).

When ‘none’ is specified, any pre-allocation will not be performed.

This option works when using Linux asynchronous I/O.

--
Example:
[user@localhost ~]$ hcp ... --fio-async-linux --fio-fallocate=none ...
--

fio-fallocate-unit

=========================================================================
Supported OS : Linux
Format : --fio-fallocate-unit=<alloc_size>
-------------------------------------------------------------------------
alloc_size
Format : <decimal_number>[[(T|G|M|K)]B]
Default : 2560MB
Range of Values : signed double-length integer (byte)
=========================================================================

This option specifies a unit size of storage pre-allocation on writing files.

--
Example:
[user@localhost ~]$ hcp ... --fio-async-linux --fio-fallocate-unit=1GB ...
--

fio-no-extension-local

=========================================================================
Supported OS : Linux
Format : --fio-no-extension-local
=========================================================================

This option disables the file I/O extension on local site (client).

--
Example:
[user@localhost ~]$ hcp ... --fio-no-extension-local ...
--

fio-no-extension-remote

=========================================================================
Supported OS : Linux
Format : --fio-no-extension-remote
=========================================================================

This option disables the file I/O extension on remote site (server).

--
Example:
[user@localhost ~]$ hcp ... --fio-no-extension-remote ...
--

fio-extension-always

=========================================================================
Supported OS : Linux
Format : --fio-extension-always
=========================================================================

This option tells the hcp command to apply the file I/O extension to all files.

Please use this option to disable the fio-direct-threshold option.

--
Example:
[user@localhost ~]$ hcp ... --fio-extension-always ...
--

Multiple File Batch Transfer Function

f, source-file

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -f <source-path-list-file> | --source-file=<source-path-list-file>
-------------------------------------------------------------------------
source-path-list-file
Default : none
Range of Values : path string of file system
=========================================================================

It specifies the file including a list of the source.

--
Example1: In the case of the source is localhost.

[user@localhost ~]$ cat source.list
file1.txt
child_dir/file2.txt
child_dir2/
/home/user/file3.txt

[user@localhost ~]$ hcp -f source.list ...
--
Example2: In the case of the source 1 is remote host.

[user@localhost ~]$ cat source.list
192.168.100.100:874:file1.txt
:child_dir/file2.txt
:child_dir2/
:/home/user/file3.txt

[user@localhost ~]$ hcp -f source.list ...
--
Example3: In the case of the source 2 is remote host.

[user@localhost ~]$ cat source.list
file1.txt
child_dir/file2.txt
child_dir2/
/home/user/file3.txt

[user@localhost ~]$ hcp -f source.list --source-file-host=127.0.0.1 ...
--
Example4: In the case of the source 3 is remote host.

[user@localhost ~]$ cat source.list
192.168.100.100:874:file1.txt
192.168.100.100:874:child_dir/file2.txt
192.168.100.100:874:child_dir2/
192.168.100.100:874:/home/user/file3.txt

[user@localhost ~]$ hcp -f source.list ...
--

source-file-host

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --source-file-host=<remote-host>[:<remote-port>]
-------------------------------------------------------------------------
remote-host
Default : none
Range of Values : IP address or hostname
-------------------------------------------------------------------------
remote-port
Default : none
Range of Values : port number
=========================================================================

It specifies a remote host for the source-file option.

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

port

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --port=<remote-port>
-------------------------------------------------------------------------
remote-port
Default : none
Range of Values : port number
=========================================================================

It specifies a service port number of the remote host in the destination. When --source-file-host is used, this port is effective.

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

Congestion Control

hpfp-cong

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --hpfp-cong=<hpfp_cong_mode>
-------------------------------------------------------------------------
hpfp_cong_mode
Default : FAIR
Range of Values : FAIR(F), MODEST(M), FAIR_FAST_START(S), AGGRESSIVE(A)
() is abbreviated notation.
=========================================================================

The congestion control mode for the HpFP protocol is set.

In the case that a server doesn’t accept the specified congestion control mode, FAIR is set and the following log is output.

2018/07/05 13:20:44 00007f9a2dfa0700:INFO :Your requested congestion mode of HpFP will not be used (requested=AGGRESSIVE, actual=FAIR).

--
Example:
[user@localhost ~]$ hcp ... --hpfp --hpfp-cong=S /path/to/src_file 192.168.10.100:65520:/path/to/dst_file
--

Data Flow Control, Message Data Size Control

hpfp-mss

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --hpfp-mss=<hpfp_mss>
-------------------------------------------------------------------------
hpfp_mss
Format : ( NONE | N | <decimal_number>[[(T|G|M|K)]B] )
Default : NONE
Range of Values : unsigned integer (byte) N stands for NONE.
=========================================================================

MSS (Maximum Segment Size) for the HpFP protocol is set. MTU minus 44 bytes, the protocol header, is the optimal value. When N is set, the value is set by the MTU search by the HpFP protocol.

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

Data Flow Control, Data Buffer Setting

hpfp-sndbuf

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --hpfp-sndbuf=<hpfp_sndbuf>
-------------------------------------------------------------------------
hpfp_sndbuf
Format : <decimal_number>[[(T|G|M|K)]B]
Default :
100MB (Linux.x86 / Windows / Mac)
8MB (Raspbian)
Range of Values : unsigned double-length integer (byte)
=========================================================================

The send buffer size (byte) for the HpFP protocol is set.

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

hpfp-rcvbuf

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --hpfp-rcvbuf=<hpfp_rcvbuf>
-------------------------------------------------------------------------
hpfp_rcvbuf
Format : <decimal_number>[[(T|G|M|K)]B]
Default :
200MB (Linux.x86 / Windows / Mac)
16MB (Raspbian)
Range of Values : unsigned double-length integer (byte)
=========================================================================

The receive buffer size (byte) for the HpFP protocol is set.

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

Data Flow Control, Temporary File Save Function (Atomic File Save)

overwrite-als-temp-file

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --overwrite-als-temp-file
=========================================================================

It requests to overwrite a temporary file which already exists.

Without this option, the transferring file goes to the transfer error when a temporary file already exists.

As long as AtomicLikeSavingRejectOverwriteRequest is set to yes in the server setting, even though this option is on, overwriting a temporary file which already exists is rejected.

Authentication

no-agent

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --no-agent
=========================================================================

This option tells clients not to use key agents such as ssh-agent and pageant on public key authentication.

This is useful for avoiding authentication failures in some cases where you do not want to use keys that are loaded in the agents or the old servers do not support them.

Clients will work as if this option is specified when the agents is not working in user environments or any key is not loaded on them.

ident-select

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --ident-select=<path-desc>
-------------------------------------------------------------------------
path-desc
Default : not defined
Range of Values : A path string in file system
=========================================================================

This option tells clients to select a file holding a private key by the given path description.

This is useful for specifying a particular private key to use for public key authentication when another key is detected and its authentication by the another key meets a failure.

wss-no-check-certificate

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --wss-no-check-certificate
=========================================================================

It instructs not to check server certificates when SSL/TLS in the WebSocket protocol is used. As a result, it receives server certificates without checking the CN (Common Name), expiration, intermediate certificate, and root certificate.

user

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --user=<username>
-------------------------------------------------------------------------
username
Default : none
Range of Values : user name
=========================================================================

The user name for user authentication is set.

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

password

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --password=<password>
-------------------------------------------------------------------------
password
Default : none
Range of Values : password
=========================================================================

The user credentials (password and pass-phrase) for user authentication are set.

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

Retransmission Function

r, resume

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -r <run-record-path> | --resume=<run-record-path>
-------------------------------------------------------------------------
run-record-path
Default : none
Range of Values : path string of file system
=========================================================================

hcp restarts file operations with the execution records (the forwarding execution records output in .hcp.out).

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

When a file exists on its destination, an integrity check will be performed if content of the file is same as a head of the corresponding file on the source. If it is, then resuming will be performed. And if it is not, transfer of the file starts with its head.

For disabling this integrity check, please use --no-integrity-on-resume.

auto-resume

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --auto-resume
=========================================================================

It automatically restarts copying when transmission stops due to network errors. However, in the case that a user stops copying by Ctrl+C, it doesn’t restart copying at that time.

It is recommended to use private keys that are not encrypted by passpharses for this purpose. If you need the passphrases, hcp make a cache on the memory of that passphrase to prevent interactive prompts from being shown for re-authentication.

no-integrity-on-resume

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --no-integrity-on-resume
=========================================================================

This option disables an integrity check of a file on resume. Just detection of resuming position will be performed for files on its destination.

It is useful for reducing processing time in cases where the integrity check takes long time because of the following reasons.

  • Machine performance is worse
  • A size of a partial file for resume is too huge

Performance Evaluation

N, no-send

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -N | --no-send
=========================================================================

hcp runs without transferring data to the network.

This option is used to confirm the disk I/O at source and the performance of data processing.

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

n, no-diskio

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -n <bench_spec> | --no-diskio=<bench_spec>
bench_spec := <number_of_files>:<file_size>
-------------------------------------------------------------------------
number_of_files
Default : none
Range of Values : unsigned integer
-------------------------------------------------------------------------
file_size
Default : none
Range of Values : unsigned double-length integer
=========================================================================

hcp runs without performing local I/O at source and destination.

This option is used to check the network transmission performance. Each meanings of the option parameter are below.

number_of_files := the number of files to transfer
file_size := the size to transfer files (byte)

When the option is “0:0”, the sender path is searched as the normal operation and the file is transfered.(References of file attributes for the permission option and reading data of files are not carried out.)

This option is available even when /dev/zero is specified at the destination. In this case, it practically reads, transfers and writes the data from /dev/zero to the destination, whose size is specified by file_size in this option. Unlike the behavior described above, the I/O processing is not omitted. This option is typically used to check the transmission performance by specifying /dev/null at the destination and adding read/write by special devices.

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

no-diskio-keep-read

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --no-diskio-keep-read
=========================================================================

When hcp runs without performing local I/O at source and destination (-n option), this option tells it to perform reading data from the source.

This option is exclusive with --no-diskio-keep-write.

It is useful for making investigation to break down causes in cases where reading data on disk I/O is supposed to be a performance bottleneck.

no-diskio-keep-write

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --no-diskio-keep-write
=========================================================================

When hcp runs without performing local I/O at source and destination (-n option), this option tells it to perform writing data to the destination.

This option is exclusive with --no-diskio-keep-read.

It is useful for making investigation to break down causes in cases where writing data on disk I/O is supposed to be a performance bottleneck.

no-diskio-keep-memalign

=========================================================================
Supported OS : Linux
Format : --no-diskio-keep-memalign
=========================================================================

When hcp runs without performing local I/O at source and destination (-n option) and runs with Direct I/O, this option tells it to perform memory allocation with alignment for buffers holding payloads of files.

It is useful for making investigation to break down causes in cases where loads of making memory allocation with alignment is supposed to be a performance bottleneck.

Log Management

q, quiet

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -q | --quiet
=========================================================================

Suppress non-error message outputs.

--
Example:
[user@localhost ~]$ hcp -q ...
--

hcp-diag

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --hcp-diag=<log-file-path>
-------------------------------------------------------------------------
log-file-path
Default : none
Range of Values : path string of file system
=========================================================================

The hcp command log for diagnostic is output in the file with the path configured.

--
Example:
[user@localhost ~]$ hcp --hcp-diag=hcp.log ...
--

stat-log-file

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --stat-log-file=<log-file-path>
-------------------------------------------------------------------------
log-file-path
Default : none
Range of Values : path string of file system
=========================================================================

The standard path for the statistics log output by the hcp commands is set.

Each statistics log is output in the configured path with suffixes.

<conigured path>.application (application statistics)
<conigured path>.transport.tcp (TCP transport statistics)
<conigured path>.transport.hpfp (HpFP transport statistics)
<conigured path>.transport.ws (WS/WSS transport statistics)

--
Example:
[user@localhost ~]$ hcp --stat-log-file=.hcp.statistics2 ...
--

hcp-out

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --hcp-out=<output-path>
-------------------------------------------------------------------------
output-path
Default : none
Range of Values : path string of file system
=========================================================================

The file to record transmission execution results is set.The output information by this option is used in the resume option.

--
Example:
[user@localhost ~]$ hcp --hcp-out=- ...
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 FT 00000001 /home/user/Desktop/hcp_src5/file1.txt
EXIT 0 REASON 0000
--

If this option is not specified, execution records are stored in the following files, etc., in the execute directories.

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

When “-” is set, execution records are output as the standard output.

FT (File Transfer) shows procedures for file transfer, which format is below.

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

shows processing results, either OK or NG.

shows reason_code (described later), which explains the reason for the result.

is the sequence number for the processing.

is the source label corresponding to the file used in each processing. The format is below.

SRC<src_index>

is the index of the source specified.

shows the file path used in the processing, which is the path of the host executing the command.

When multiple sources are specified, progress information is recorded as below.

--
Example:
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) shows file synchronization processing. When the synchronization deletes files in the destination that don’t exist on the source host, the following text is recorded.

--
Example:\
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\
--

When a file cannot be identified in a single source, the index of the source label is shown by “?.”

--
Example:\
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\
--

In the last line, and are recorded in the following format.

EXIT <exit_status> REASON <reason_code>

When the setting, UseProperCopyAndSync described later is set as yes, on searching a directory, the judging result on overwriting is recorded in the following format.

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

multi-run

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --multi-run=<record-path>[:<output-switch>]
-------------------------------------------------------------------------
record-path
Default : none
Range of Values : path string of file system
-------------------------------------------------------------------------
output-switch
Format : ( (A|T|R|L)[...] | THRU | FULL )
Default : THRU
=========================================================================

A client starts in the multiple run mode. With this option, the following logs are recorded in unique file names in the specified directory. It is used when plural clients access to the same directory simultaneously or executing another applications is taken place in the background.

  • Application statistics
  • Transport statistics
  • Result output
  • Application log

record-path specifies the directory of these log files.

output-switch specifies the control of these logs outputs.

A stands for the application statistics. With this option, the application statistics is recorded in the following file name in the directory specified above.

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

T stands for the transport statistics. With “T”,the transport statistics is recorded in the following file name in the above directory.

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

R stands for the execution result. With “R”,the execution result is recorded in the following file name in the above specified directory.

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

L stands for the application log. With “L”,the application log is recorded in the following file name in the above specified directory.

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

With “FULL”, the behavior is the same as one with “ATRL”.

With “THRU”, outputs of the records are processed following the specifications of the configuration files and commands. When the application statistics (transport statistics) in the configuration file is enable,it is recorded in the above file name. When the result output (the application log) is enable (without -v and with -l),the execution record (log) is output in the above file name.

--
Example:
[user@localhost ~]$ hcp --multi-run=/var/tmp:ATR // The log is output as standard. Other files are output in /var/tmp.
--

Software Information Update

V, version

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -V | --version
=========================================================================

The hcp command version is shown.

--
Example:
[user@localhost ~]$ hcp -V
hcp client (hcp) 1.5.8_1 / Linux (HpFP2 2.0.0.91_26 WSAPI 0.0.1.36 WS 4.2.0-2)
--

config-test

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --config-test
=========================================================================

The hcp command parameters and configuration parameters are shown.

--
Example:
[user@localhost ~]$ hcp --config-test
...

-- [Sources] ---------------------------------------------------------------
-- [Destination] -----------------------------------------------------------
-- [Command Options] -------------------------------------------------------
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
copy-mode : - [ALLCOPY]
overwrite : - [FORCE]
fail-action : - [HALT]
source-file : -
source-file-host : -
port : -
quiet : disable
auto-resume : disable
user : -
password : -
version : disable
help : disable
mcd : -
-- [Configuration Parameters] ----------------------------------------------
AtomicLikeSaving : no .tmp NONE [threshold=0]
PubkeyAuthentication : yes
WinLogonUserAuthentication : yes
PAMAuthentication : yes
LocalPasswordAuthentication : yes
NumberOfPasswordPrompts : 3
CompressLevel : -1
StrictHostKeyChecking : ask
IdentityFile : - [~/.ssh/id_rsa ~/.ssh/id_ecdsa ~/.ssh/id_ed25519 ~/.hcp/id_rsa ~/.hcp/id_ecdsa ~/.hcp/id_ed25519]
MaxReceiveRate : 100000000000
MaxSendRate : 100000000000
MaxConnectionReceiveRate : 100000000000
MaxConnectionSendRate : 100000000000
TransportTimeout : 180 sec
FileLock : no
AcceptableCryptMethod : AES256/GCM AES256/CTR/VMAC AES256/CBC AES128/CBC [Intel:AES-NI=yes]
AcceptableDigestMethod : XXH3 SHA256 SHA160
-- [Environment Variables] -------------------------------------------------
USER : user
LOGNAME : user
HCP_PASSWORD :
HCP_WS_PROXY :
----------------------------------------------------------------------------

Please type '--config-test --config-test ...' for more details.
--

If you want to confirm more detailed configuration options, please add —config-test (other client commands are also in the same manner to show).

h, help

=========================================================================
Supported OS : Linux / Windows / Mac
Format : -h | --help
=========================================================================

The help information on the hcp commands is shown.

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

System Operating Environment Settings

config-file

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --config-file=<config-file-path>
-------------------------------------------------------------------------
config-file-path
Default : none
Range of Values : path string of file system
=========================================================================

The configuration file path used for the hcp command is set.

The hcp commands read the configuration files in the following order.

  1. /etc/hcp/hcp.conf
  2. \<user home directory>/.hcp/hcp.conf
  3. \<the path configured in the options>

When the file doesn’t exist, it is skipped. When the configuration file wasn’t read successfully, file read error occurs and the operation stops.

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

config-option

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --config-option=<config-file-option-desc>
-------------------------------------------------------------------------
config-file-option-desc
Default : none
Range of Values : description of a configuration item described in configuration files
=========================================================================

This option tells the hcp command to apply a configuration item from the command line parameters instead of using configuration files.

The configuration item will be applied at last after other configuration files are loaded.

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

show-config-options

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --show-config-options
=========================================================================

This option tells the hcp command to show available option names of its configuration.

--
Example:
[user@localhost ~]$ hcp --show-config-options ...
--

include-conf-from-cwd

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --include-conf-from-cwd
=========================================================================

When using Include in a relative path on configuration files, this option enables finding a file with a path relative to the current directory where commands run.

no-earlier-serv-compat

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --no-earlier-serv-compat
=========================================================================

This option disables the backward compatibility for servers that will be performed when the connecting servers are earlier than the client. This function is available to work if you do not use some functions. This option disables the function works (earlier version’s clients are still available to work with newer version’s servers in that condition). Please see the Server backward compatibility conditions list in the back of this document about what conditions the function works in.

Check System Information

system-info

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --system-info
=========================================================================

This option tells hcp to show the system information. The following contents will be displayed.

  • CPU brand name
  • Number of physical processors and logical processors
  • Hardware acceleration information around AES function
  • System memory size
  • Kernel information (Linux / Mac)
  • OS information
  • Host name

When specifying this option twice, the following contents will be displayed.

  • Disk consumption (df output, Linux / Mac)
  • Network interface detail
    --
    Example:
    [user@localhost ~]$ hcp --system-info ...
    --

run-host-benchmark

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --run-host-benchmark
=========================================================================

This option tells hcp to make a benchmark of the local host about the following performances.

  • Security communication performance (AES, GCM/CTR/CBC mode, MD5, SHA1, SHA256)
  • File integrity validation performance (XXH3, Parity)
  • Disk reading & writing performance (Cached, Direct I/O)
  • Memory copy performance

When this option is specified twice, the benchmark run with some additional conditions.

  • Security communication performance (some additional AES benchmarks around block size and concurrency)
  • File integrity validation performance (some additional benchmarks about Parity calculation)
  • Disk reading & writing performance (some additional benchmarks around block size)
  • Memory copy performance (an additional benchmark on concurrency)

Benchmarks using Direct I/O and additional disk benchmarks are available only for Linux version.

--
Example:
[user@localhost ~]$ hcp --run-host-benchmark ...
--

run-host-benchmark-categories

=========================================================================
Supported OS : Linux / Windows / Mac
Format : --run-host-benchmark-categories=<categories>
-------------------------------------------------------------------------
categories
Default : all
Range of Values : secure, integrity, disk, memory, all
=========================================================================

You can specify measurement categories over which hcpd make the benchmark. The following values are available.

  • secure (security communication performance)
  • integrity (file integrity validation performance)
  • disk (disk reading & writing performance)
  • memory (memory copy performance)
  • all (all of the values above)

Please use this option to reduce measurements when it takes a long time.

--
Example:
[user@localhost ~]$ hcp --run-host-benchmark-categories=disk,memory ...
--