クライアントコマンド(hsync)
hsyncコマンドは、リモート(サーバ、hcpdデーモン)との間でファイル同期を行うコマンドです。ローカルのファイル同期機能もサポートします。
#
基本書式Local : hsync [OPTION]... SRC [SRC]... DEST
Remote : Push : hsync [OPTION]... SRC [SRC]... [USER@]HOST[:PORT]:DEST Pull : hsync [OPTION]... [USER@]HOST[:PORT]:SRC [:SRC]... DEST
#
オプション一覧hsyncコマンドのオプションは以下の通りです。
同期
説明 | 短縮名 | オプション名 |
---|---|---|
ダイジェスト検査に基づくファイル送信判定 | c | checksum |
アーカイブモード(-rlptgoDを指定した場合と同じ動作) | a | archive |
ディレクトリの再帰的同期 | r | recursive |
相対パス名の使用 | R | relative |
中間パスのディレクトリ情報送信抑制(相対パス使用時) | no-implied-dirs | |
バックアップファイルの作成 | b | backup |
バックアップするディレクトリ名の指定 | backup-dir | |
バックアップファイルの接尾辞指定 | suffix | |
更新日時が新しいファイルのみ同期 | u | update |
インプレース式ファイルデータコピー | inplace | |
再帰探索せずにディレクトリコピー | d | dirs |
シンボリックリンクをリンクのままコピー | l | links |
シンボリックリンク参照先の実体をコピー | L | copy-links |
シンボリックリンク参照先の実体をコピー("unsafe"なシンボリックリンクの場合) | copy-unsafe-links | |
シンボリックリンクのままのコピーを無視("unsafe"なシンボリックリンクの場合) | safe-links | |
シンボリックリンク参照先の実体をコピー(ディレクトリを参照するシンボリックリンクの場合) | k | copy-dirlinks |
送信先のシンボリックリンクされたディレクトリをディレクトリとして維持 | K | keep-dirlinks |
転送元パーミッションの保持 | p | perms |
実行性の保持 | E | executability |
指定したパーミッションの適用 | chmod | |
所有者の保持 | o | owner |
グループの保持 | g | group |
デバイスファイルの保持 | devices | |
スペシャルファイルの保持 | specials | |
devicesとspecialsを指定 | D | |
更新日時の保持 | t | times |
更新日時の保持からディレクトリ除外 | O | omit-dir-times |
更新日時の保持からシンボリックリンク除外 | J | omit-link-times |
受信側にて特権ユーザ動作の試行 | super | |
ファイル操作せずに試行 | n | dry-run |
ファイル全体コピー(再開動作時) | W | whole-file |
宛先に存在するファイルのみコピー | existing | |
宛先に存在しないファイルのみコピー | ignore-existing | |
delete-duringのエイリアス | del | |
転送元に存在しない転送先ファイルの削除 | delete | |
転送前に削除実行 | delete-before | |
転送中に削除実行 | delete-during | |
転送中に削除対象チェックして転送後に削除実行 | delete-delay | |
転送後に削除実行 | delete-after | |
除外指定されたファイルも転送先から削除 | delete-excluded | |
非空ディレクトリの削除 | force | |
削除ファイル数の上限設定 | max-delete | |
送信するファイルサイズの上限設定 | max-size | |
送信するファイルサイズの下限設定 | min-size | |
部分的に転送されたファイルの保持(転送中断時) | partial | |
部分的に転送されたファイルを指定のディレクトリに保管 | partial-dir | |
空ディレクトリコピーの抑制 | m | prune-empty-dirs |
UID/GID値の適用(所有者やグループ保持の際) | numeric-ids | |
ユーザ名マッピング(所有者保持の際) | usermap | |
グループ名マッピング(グループ保持の際) | groupmap | |
ユーザ及びグループ指定 | chown | |
更新日時やサイズによるスキップ動作の無効化 | I | ignore-times |
サイズが同じファイルはスキップ | size-only | |
更新日時の比較ウィンドウの設定 | @ | modify-window |
一時ディレクトリを作成して転送 | T | temp-dir |
転送データブロックの圧縮送信 | z | compress |
圧縮レベルの指定 | compress-level | |
HCPファイル転送の除外 | hcp-exclude | |
フィルタルールの追加 | f | filter |
除外ルールの追加 | exclude | |
除外ルールの追加(指定ファイルからの読み込み) | exclude-from | |
含有ルールの追加 | include | |
含有ルールの追加(指定ファイルからの読み込み) | include-from | |
ソースファイルリストを指定して同期 | files-from | |
ファイル転送の統計情報の追加 | stats | |
数値のヒューマンリーダブル表示 | h | human-readable |
転送中の経過情報表示 | progress | |
partialとprogress指定 | P | |
ファイル更新の変更点表示 | i | itemize-changes |
指定した書式を使用して更新内容表示 | out-format | |
同期処理の中断(日時指定) | stop-at | |
同期処理の中断(分単位指定) | stop-after |
通信方式選択機能
説明 | 短縮名 | オプション名 |
---|---|---|
HpFPプロトコルの使用 | hpfp | |
WebSocketプロトコル(SSL/TLS)の使用 | wss | |
ポート分離型UDP (HpFP)プロトコルの使用(廃止予定) | udp | |
WebSocketプロトコル(平文通信)の使用 | ws | |
プロキシ直接接続指定(WebSocketプロトコル使用時) | ws-proxy-direct | |
プロキシサーバの指定(WebSocketプロトコル使用時) | ws-proxy | |
多重接続数の指定 | mcd |
輻輳制御
説明 | 短縮名 | オプション名 |
---|---|---|
輻輳制御モードの指定(HpFPプロトコル使用時) | hpfp-cong |
データフロー制御・通信メッセージサイズ制御
説明 | 短縮名 | オプション名 |
---|---|---|
MSS(Maximum Segment Size)の指定(HpFPプロトコル使用時) | hpfp-mss |
データフロー制御・データバッファ設定
説明 | 短縮名 | オプション名 |
---|---|---|
送信バッファサイズの指定(HpFPプロトコル使用時) | hpfp-sndbuf | |
受信バッファサイズの指定(HpFPプロトコル使用時) | hpfp-rcvbuf |
データフロー制御・帯域制御
説明 | 短縮名 | オプション名 |
---|---|---|
通信帯域制限 | bwlimit |
認証
説明 | 短縮名 | オプション名 |
---|---|---|
サーバ証明書の検証無効化(WebSocket(SSL/TLS)通信時) | wss-no-check-certificate | |
ユーザ名を先に指定して同期 | user | |
パスワードを先に指定して同期 | password |
通信再開機能
説明 | 短縮名 | オプション名 |
---|---|---|
同期処理自動再開(ネットワークの障害で中断した場合) | auto-rerun |
各種監視機能
説明 | 短縮名 | オプション名 |
---|---|---|
調査モード起動(廃止予定) | investigation |
ログ管理機能
説明 | 短縮名 | オプション名 |
---|---|---|
アプリケーション出力の冗長化 | v | verbose |
INFO出力の冗長化(出力カテゴリ)指定 | info | |
エラー以外のログを抑制 | q | quiet |
進行状況などのログをファイルへ出力指示 | log-file | |
アプリケーションログの出力先指定 | hcp-log-file | |
各種統計ログの出力先指定 | hcp-stat-log-file | |
実行記録の出力先指定 | hcp-out | |
多重起動モードで起動 | multi-run |
ソフトウェアの情報確認
説明 | 短縮名 | オプション名 |
---|---|---|
バージョン確認 | V | version |
入力パラメータ及び設定情報確認 | config-test | |
コマンドヘルプの表示 | h | help |
システム動作環境設定
説明 | 短縮名 | オプション名 |
---|---|---|
設定ファイルのパス指定 | config-file | |
設定項目上書き指定 | config-option | |
実行ディレクトリからの相対パスでInclude | include-conf-from-cwd | |
サーバ互換対応無効化 | no-earlier-serv-compat |
次のオプションはhcpdコマンドの説明をご参照ください。
--investigation
次のオプションはhcpコマンドの説明をご参照ください。
--hpfp, --wss, --user, --password, --config-file, --config-option, --hcp-log-file, --hcp-stat-log-file, --udp, --ws, --wss-no-check-certificate, --ws-proxy-direct, --ws-proxy, --hpfp-cong, --hpfp-mss, --hpfp-sndbuf, --hpfp-rcvbuf, --hcp-out, --multi-run, --include-conf-from-cwd, --no-earlier-serv-compat, --mcd
hcpコマンドでは、--hcp-log-fileは--log-fileに、--hcp-stat-log-fileは--stat-log-fileに該当します。
#
同期#
c, checksum=========================================================================対応OS : Linux / Windows / Mac書式 : -c | --checksum=========================================================================
チェックサムが一致しない場合にファイルを送信するように動作を変更します。
--例:[user@localhost ~]$ hsync -c ...--
#
a, archive=========================================================================対応OS : Linux / Windows / Mac書式 : -a | --archive=========================================================================
-rlptgoDを指定した場合と同じ動作をします。簡単にファイルの属性などを保持しつつディレクトリをアーカイブしたい場合などに指定します。
--例:[user@localhost ~]$ hsync -a ...--
#
r, recursive=========================================================================対応OS : Linux / Windows / Mac書式 : -r | --reursive=========================================================================
ディレクトリを再帰的に探索してファイルの送信を行います。
--例:[user@localhost ~]$ hsync -r ...--
#
R, relative=========================================================================対応OS : Linux / Windows / Mac書式 : -R | --relative=========================================================================
相対パス名を使用します。
--例:[user@localhost ~]$ hsync -R ...--
#
no-implied-dirs=========================================================================対応OS : Linux / Windows / Mac書式 : --no-implied-dirs=========================================================================
--relativeで相対パスを指定した場合に、中間パスのディレクトリ情報を送信せずにファイル転送を実行します。受信側でこのディレクトリ情報によって競合するシンボリックリンクが削除される動作を抑制します。この動作は--keep-dirlinksでも代替可能です。
--例:[user@localhost ~]$ hsync --no-implied-dirs ...--
#
b, backup=========================================================================対応OS : Linux / Windows / Mac書式 : -b | --backup=========================================================================
転送先にファイルが存在する場合は、そのファイルをリネームしてバックアップを行います。
--例:[user@localhost ~]$ hsync -b ...--
#
backup-dir=========================================================================対応OS : Linux / Windows / Mac書式 : --backup-dir=<dir-name>-------------------------------------------------------------------------dir-name既定値 : なし値の範囲 : パスコンポーネント文字列=========================================================================
バックアップするディレクトリ名を指定します。
--例:[user@localhost ~]$ hsync --backup-dir=backup_20211013 ...--
#
suffix=========================================================================対応OS : Linux / Windows / Mac書式 : --suffix=<suffix-name>=========================================================================
バックアップ時にリネームする接尾辞を指定します。
--例:[user@localhost ~]$ hsync --suffix=.bk ...--
#
u, update=========================================================================対応OS : Linux / Windows / Mac書式 : -u | --update=========================================================================
転送元ファイルの更新日時が新しい場合のみ同期します。転送元ファイルの更新日時より転送先ファイルの更新日時が新しいファイルは、転送対象とみなしません。ただし、更新日時が同じ場合は、サイズが異なるファイルは転送されます。
--例:[user@localhost ~]$ hsync -u ...--
#
inplace=========================================================================対応OS : Linux / Windows / Mac書式 : --inplace=========================================================================
受信側で一時ファイルを作成せずにファイルを書き込みます。ファイル転送が中断された場合は、書き込み中のファイルは残留します。再度ファイル転送を実行する際に、残留しているファイルのダイジェストが検査され、一致する場合はレジューム動作(残留しているファイル末尾の位置から転送を再開)を行います。
--例:[user@localhost ~]$ hsync --inplace ...--
#
d, dirs=========================================================================対応OS : Linux / Windows / Mac書式 : -d | --dirs=========================================================================
転送元で遭遇したすべてのディレクトリを含めるように指示します。--recursiveと異なりディレクトリの内容はコピーしません(転送元ディレクトリパスの末尾に"."や"/"が指定された場合を除く)。
--例:[user@localhost ~]$ find from_dir/from_dir/from_dir/dir01from_dir/dir02from_dir/dir02/file02.txtfrom_dir/dir03from_dir/dir03/dir03_1from_dir/dir03/dir03_1/file03_1.txtfrom_dir/dir03/dir03_1/file03_2.txtfrom_dir/file.txt[user@localhost ~]$ hsync --dirs ... from_dir/ to_dir/[user@localhost ~]$ find to_dir/to_dirto_dir/dir01to_dir/dir02to_dir/dir03to_dir/file.txt--
#
l, links=========================================================================対応OS : Linux / Mac書式 : -l | --links=========================================================================
転送元のシンボリックリンクをそのまま転送先にコピーします。
--links, --copy-linksなどリンクのコピー動作に関わるオプションを指定しない場合は、シンボリックリンクは転送先にはコピーされません(スキップされます)。
--例:[user@localhost ~]$ hsync -l ...--
#
L, copy-links=========================================================================対応OS : Linux / Mac書式 : -L | --copy-links=========================================================================
転送元のシンボリックリンクを実体(ファイルもしくはディレクトリ)に解決してから転送先にコピーします。
--links, --copy-linksなどリンクのコピー動作に関わるオプションを指定しない場合は、シンボリックリンクは転送先にはコピーされません(スキップされます)。
--例:[user@localhost ~]$ hsync -L ...--
#
copy-unsafe-links=========================================================================対応OS : Linux / Mac書式 : --copy-unsafe-links=========================================================================
"unsafe"な(安全でない)シンボリックリンクは実体に解決してから転送先にコピーします。
"unsafe"なシンボリックリンクは、次のようなリンクが対象となります。
- 転送元の転送ルートからのツリー配下外のパスに解決されるようなリンク
- リンク先が絶対パスが指定されているリンク
--例:[user@localhost ~]$ hsync --copy-unsafe-links ...--
#
safe-links=========================================================================対応OS : Linux / Mac書式 : --safe-links=========================================================================
"unsafe"なシンボリックリンクは転送先へリンクとしてコピーしないように指示します。
--copy-linksや--copy-unsafe-linksなど実体でコピーするオプションが指定された場合は、"unsafe"なリンクについては実体としてコピーされます(--safe-linksの指定は打ち消されます)。
--例:[user@localhost ~]$ hsync --safe-links ...--
#
k, copy-dirlinks=========================================================================対応OS : Linux / Mac書式 : -k | --copy-dirlinks=========================================================================
転送元のディレクトリへのシンボリックリンクは、そのディレクトリをたどってコピーを行うように指示します。ファイルへのシンボリックリンクは解決せずにそのままリンクをコピーします。
--例:[user@localhost ~]$ hsync --copy-dirlinks ...--
#
K, keep-dirlinks=========================================================================対応OS : Linux / Mac書式 : -K | --keep-dirlinks=========================================================================
受信側のシンボリックリンクのうちディレクトリを指しているリンクは削除せずに維持するように指示します。維持されたリンクはディレクトリかのように扱われて、-rオプションを指定した場合には再帰的にファイル転送を行います。
本オプションを指定しない場合、転送元に対象のリンクと同名のディレクトリ(シンボリックリンクでない)が存在すると競合するファイルリソースとしてシンボリックリンクが削除されて転送元のディレクトリに置き換えられます。この動作を抑制したい場合に使用します。
--例:[user@localhost ~]$ hsync --keep-dirlinks ...--
#
p, perms=========================================================================対応OS : Linux / Mac書式 : -p | --perms=========================================================================
転送元のパーミッションを保持してコピーを行うように指示します。
--例:[user@localhost ~]$ hsync -p ...--
#
E, executability=========================================================================対応OS : Linux / Mac書式 : -E | --executability=========================================================================
転送元のファイルの実行性(Executability)を判定して宛先の実行パーミッションを設定するように指示します。
所有者、グループまたはその他のいずれかに実行属性が設定されている場合、そのファイルは実行性が有ると判定します。転送元と転送先でこの実行性が異なる場合に、転送先のファイルのパーミッションを次のように変更します。
実行属性をオフにする場合は、すべての実行属性'x'をオフに変更する\
実行属性をオンにする場合は、読込属性'r'が設定されているフィールドの実行属性'x'をオンに変更する
例:[user@localhost ~]$ hsync -E ...
#
chmod=========================================================================対応OS : Linux / Mac書式 : --chmod=<modifier>[,<modifier>...]-------------------------------------------------------------------------modifier既定値 : なし値の範囲 : パーミッション更新指定子(chmodコマンド準拠)=========================================================================
指定したパーミッションをファイルに適用するように指示します。
modifierにはchmodコマンドに準拠した書式が使用できます。また、本コマンド固有の拡張書式については次の文書を参照してください。
https://download.samba.org/pub/rsync/rsync.1--chmod=CHMOD
--例:[user@localhost ~]$ hsync --chmod=Dg+s,ug+w,Fo-w,+X ...[user@localhost ~]$ hsync --chmod=D2775,F664 ...--
#
o, owner=========================================================================対応OS : Linux / Mac書式 : -o | --owner=========================================================================
転送元ファイルの所有者を保持してコピーするように指示します。
--numeric-idsを指定しない場合、転送先のホストで(転送元ファイルの所有者属性に設定された)ユーザ名からUIDを解決して設定されます。また、UIDが解決できなかった場合(ユーザが存在しない場合など)は、転送元ファイルのUID値が適用されます。
--例:[user@localhost ~]$ hsync -o ...--
#
g, group=========================================================================対応OS : Linux / Mac書式 : -g | --group=========================================================================
転送元ファイルのグループを保持してコピーするように指示します。
--numeric-idsを指定しない場合、転送先のホストで(転送元ファイルのグループ属性に設定された)グループ名からGIDを解決して設定されます。また、GIDが解決できなかった場合(グループが存在しない場合など)は、転送元ファイルのGID値が適用されます。
--例:[user@localhost ~]$ hsync -g ...--
#
devices=========================================================================対応OS : Linux / Mac書式 : --devices=========================================================================
デバイスファイルをコピーするように指示します。本オプションを指定しない場合、デバイスファイルはスキップされます。
--例:[user@localhost ~]$ hsync --devices ...--
#
specials=========================================================================対応OS : Linux / Mac書式 : --specials=========================================================================
特殊ファイル(FIFO及びソケット)をコピーするように指示します。本オプションを指定しない場合、特殊ファイルはスキップされます。
--例:[user@localhost ~]$ hsync --specials ...--
#
D=========================================================================対応OS : Linux / Mac書式 : -D=========================================================================
--devicesと--specialsを指定します。
--例:[user@localhost ~]$ hsync -D ...--
#
t, times=========================================================================対応OS : Linux / Windows / Mac書式 : -t | --times=========================================================================
転送元ファイルの更新日時を保持してコピーするように指示します。
--例:[user@localhost ~]$ hsync -t ...--
#
O, omit-dir-times=========================================================================対応OS : Linux / Windows / Mac書式 : -O | --omit-dir-times=========================================================================
ディレクトリの更新日時は保持せずにコピーするように指示します。
本オプションは、-rオプションおよび--timesオプションと併用した場合に作用します。また、ディレクトリへのシンボリックリンクに対しても、本オプションは適用されます(更新日時は保持されません)。
--例:[user@localhost ~]$ hsync -rtO ...--
#
J, omit-link-times=========================================================================対応OS : Linux / Windows / Mac書式 : -J | --omit-link-times=========================================================================
シンボリックリンクの更新日時は保持せずにコピーするように指示します。
本オプションは、--timesオプションおよび--linksオプションと併用した場合に作用します。
--例:[user@localhost ~]$ hsync -tlJ ...--
#
super=========================================================================対応OS : Linux / Mac書式 : --super=========================================================================
特権が必要とされるような次の処理を行うように指示します。このオプションを指定しない場合は、受信側のユーザ権限に応じてこれらの処理を実行するかをソフトウェアが判断します。
- 所有者の変更
- グループの変更
- デバイスファイルのコピー
--no-superを指定することで、(ユーザ権限に関係なく)これらの処理を実行しないように指示することもできます。
--例:[user@localhost ~]$ hsync --super ...--
#
n, dry-run=========================================================================対応OS : Linux / Windows / Mac書式 : -n | --dry-run=========================================================================
実際のファイルI/O操作は行わずにコピー動作を実行するように指示します。
--例:[user@localhost ~]$ hsync --dry-run ...--
#
W, whole-file=========================================================================対応OS : Linux / Windows / Mac書式 : -W | --whole-file=========================================================================
再開動作時にファイル全体をコピーしなおすように指示します。本オプションは、--inplaceオプションと併用した場合に作用します。
--例:[user@localhost ~]$ hsync -W --inplace...--
#
existing=========================================================================対応OS : Linux / Windows / Mac書式 : --existing=========================================================================
宛先に存在するファイルをコピー対象とします。宛先に存在しないファイルの新規作成をスキップします。
--例:[user@localhost ~]$ hsync --existing ...--
#
ignore-existing=========================================================================対応OS : Linux / Windows / Mac書式 : --ignore-existing=========================================================================
宛先に存在しないファイルをコピー対象とします。宛先にすでに存在するファイルの更新をスキップします。
--例:[user@localhost ~]$ hsync --ignore-existing ...--
#
del=========================================================================対応OS : Linux / Windows / Mac書式 : --del=========================================================================
--delete-duringのエイリアスです。
--例:[user@localhost ~]$ hsync --del ...--
#
delete=========================================================================対応OS : Linux / Windows / Mac書式 : --delete=========================================================================
転送元に存在しない転送先のファイルやディレクトリを削除するように指示します。ただし、削除範囲は同期されるディレクトリ内に限ります。
--例:[user@localhost ~]$ hsync --delete ...--
#
delete-before=========================================================================対応OS : Linux / Windows / Mac書式 : --delete-before=========================================================================
--deleteの削除を、ファイルの転送前に実行するように指示します。
--例:[user@localhost ~]$ hsync --delete-before ...--
#
delete-during=========================================================================対応OS : Linux / Windows / Mac書式 : --delete-during=========================================================================
--deleteの削除を、ファイルの転送中に実行するように指示します。
--deleteの動作モードのデフォルトです。
--例:[user@localhost ~]$ hsync --delete-during ...--
#
delete-delay=========================================================================対応OS : Linux / Windows / Mac書式 : --delete-delay=========================================================================
--deleteの削除を、ファイルの転送後に遅延実行するように指示します(ファイル削除の是非は転送中に判定します)。
--例:[user@localhost ~]$ hsync --delete-delay ...--
#
delete-after=========================================================================対応OS : Linux / Windows / Mac書式 : --delete-after=========================================================================
--deleteの削除を、ファイルの転送後に実行するように指示します。
--例:[user@localhost ~]$ hsync --delete-after ...--
#
delete-excluded=========================================================================対応OS : Linux / Windows / Mac書式 : --delete-excluded=========================================================================
ファイル転送が除外されたファイルを削除するように指示します。
--例:[user@localhost ~]$ hsync --delete-excluded ...--
#
force=========================================================================対応OS : Linux / Windows / Mac書式 : --force=========================================================================
空でないディレクトリを削除するように指示します。
本オプションは、転送元がファイルやシンボリックリンクで転送先のディレクトリを削除(上書き)する場合に、そのディレクトリが空でなくても削除するように指示する場合に使用します。このケースでこのオプションを指定しなかった場合は、転送先のディレクトリは削除されず転送元のファイルの送信はスキップされます。
--例:[user@localhost ~]$ hsync --force ...--
#
max-delete=========================================================================対応OS : Linux / Windows / Mac書式 : --max-delete=<max-num>-------------------------------------------------------------------------max-num既定値 : -1値の範囲 : -1, 0 - 符号付き整数の最大値=========================================================================
削除するファイルやディレクトリの上限数を指定します。
max-numには、この上限数を指定します。-1,0を指定した場合は、転送先ファイルは削除されません。
--例:[user@localhost ~]$ hsync --max-delete=100 ...--
#
max-size=========================================================================対応OS : Linux / Windows / Mac書式 : --max-size=<size>-------------------------------------------------------------------------size既定値 : なし値の範囲 : 数値文字列、単位付きサイズ指定文字列=========================================================================
転送するファイルの最大サイズを指定します。
sizeには、数値文字列もしくは単位(B, K, M, G, T, P)付きのサイズ文字列を指定します。単位付き文字列の書式については、下記文書を参照ください。
https://download.samba.org/pub/rsync/rsync.1--max-size=SIZE
hcpコマンドで使用されるファイルサイズを制限する次の設定項目は、hsyncでは無視されます。
MaxReceiveFileSize
MaxSendFileSize
--例:[user@localhost ~]$ hsync --max-size=1000 ...[user@localhost ~]$ hsync --max-size=1.5mb-1 ...--
#
min-size=========================================================================対応OS : Linux / Windows / Mac書式 : --min-size=<size>-------------------------------------------------------------------------size既定値 : なし値の範囲 : 数値文字列、単位付きサイズ指定文字列=========================================================================
転送するファイルの最小サイズを指定します。
sizeには、数値文字列もしくは単位(B, K, M, G, T, P)付きのサイズ文字列を指定します。サポートする書式は--max-sizeと同じです。
--例:[user@localhost ~]$ hsync --min-size=1000 ...[user@localhost ~]$ hsync --min-size=1.5mb-1 ...--
#
partial=========================================================================対応OS : Linux / Windows / Mac書式 : --partial=========================================================================
中断したファイルを転送先で保持するように指示します。
--例:[user@localhost ~]$ hsync --partial ...--
#
partial-dir=========================================================================対応OS : Linux / Windows / Mac書式 : --partial-dir=<dir_path>-------------------------------------------------------------------------dir_path既定値 : なし値の範囲 : パス文字列=========================================================================
中断したファイルを転送先で保持するディレクトリを指定します。相対パスで指定した場合は、各ファイルの転送先のディレクトリに作成されます。
また、指定したディレクトリに中断したファイルを検出するとレジュームの試行を行います(--partialオプションのみではレジュームの試行は行われません)。
--例1:[user@localhost ~]$ hsync --partial-dir=_part_dir_ ...例2:[user@localhost ~]$ hsync --partial-dir=/home/user/_part_dir_ ...--
#
m, prune-empty-dirs=========================================================================対応OS : Linux / Windows / Mac書式 : -m | --prune-empty-dirs=========================================================================
空のディレクトリを転送しないように指示します。
include/exclude/filterによる不要なルール検査処理を省くなどのために使用します。
--例:[user@localhost ~]$ hsync -m ...--
#
numeric-ids=========================================================================対応OS : Linux / Mac書式 : --numeric-ids=========================================================================
転送先でのファイルの所有者とグループの保持を転送元ファイルのUID/GIDの値を使用して行うように指示します。
--例:[user@localhost ~]$ hsync -o -g --numeric-ids ...--
#
usermap=========================================================================対応OS : Linux / Mac書式 : --usermap=<mapping>[,<mapping>...]-------------------------------------------------------------------------mapping既定値 : なし値の範囲 : 転送元のユーザ名(もしくはUID値の範囲)と転送先でのユーザ名(もしくはUID値)の対応関係を記述した文字列=========================================================================
--ownerオプションにより転送元の所有者を転送先のファイルで保持する場合に、指定したユーザマッピングを行ってから保持するように指示します。
mappingには、ユーザマッピングを記述した文字列を指定します。転送元にはユーザ名もしくはUID値の範囲指定が使用できます。転送先にはユーザ名もしくはUID値が使用できます。書式については下記文書を参照ください。
https://download.samba.org/pub/rsync/rsync.1--usermap=STRING, --groupmap=STRING
--例:[user@localhost ~]$ hsync -o --usermap=0-99:nobody,wayne:admin,*:normal ...--
#
groupmap=========================================================================対応OS : Linux / Mac書式 : --groupmap=<mapping>[,<mapping>...]-------------------------------------------------------------------------mapping既定値 : なし値の範囲 : 転送元のグループ名(もしくはGID値の範囲)と転送先でのグループ名(もしくはGID値)の対応関係を記述した文字列=========================================================================
--groupオプションにより転送元のグループを転送先のファイルで保持する場合に、指定したグループマッピングを行ってから保持するように指示します。
mappingには、グループマッピングを記述した文字列を指定します。転送元にはグループ名もしくはGID値の範囲指定が使用できます。転送先にはグループ名もしくはGID値が使用できます。書式については下記文書を参照ください。
https://download.samba.org/pub/rsync/rsync.1--usermap=STRING, --groupmap=STRING
--例:[user@localhost ~]$ hsync -g --groupmap=usr:1,1:usr ...--
#
chown=========================================================================対応OS : Linux / Mac書式 : --chown=<user>[:<group>]-------------------------------------------------------------------------user既定値 : なし値の範囲 : ユーザ名-------------------------------------------------------------------------group既定値 : なし値の範囲 : グループ名=========================================================================
指定したユーザ名とグループ名を転送先のファイルの所有者とグループに適用するように指示します。
このオプションは、--usermap及び--groupmapオプションを内部的に使用して実現されます。下記のように実行した場合はどちらも同じ結果となります。
[user@localhost ~]$ hsync --chown=foo:bar ...[user@localhost ~]$ hsync --usermap=*:foo --groupmap=*:bar ...
#
I, ignore-times=========================================================================対応OS : Linux / Windows / Mac書式 : -I | --ignore-times=========================================================================
サイズと更新日時が同じでもファイルをコピーするように指示します。
--例:[user@localhost ~]$ hsync -I ...--
#
size-only=========================================================================対応OS : Linux / Windows / Mac書式 : --size-only=========================================================================
サイズが異なればコピーを行うように指示します。更新日が同じ場合でもコピーされるようになります。
--例:[user@localhost ~]$ hsync --size-only ...--
#
@, modify-window=========================================================================対応OS : Linux / Windows / Mac書式 : -@<mod_win_time> | --modify-window=<mod_win_time>-------------------------------------------------------------------------mod_win_time既定値 : 0値の範囲 : 更新ウィンドウ時間(秒)=========================================================================
ファイルのタイムスタンプを比較する際に、大小関係や等価関係を判定するマージンを指定します。
0を指定した場合は、秒数が完全に一致する場合にタイムスタンプが等しいと判断します。0より大きい値を指定すると、タイムスタンプの差が指定した値の範囲の場合はタイムスタンプは等しいと判断します。
負の値はサポートしません(rsyncではナノ秒指定と見做される動作)。
--例:[user@localhost ~]$ hsync --modify-window=3 ...// タイムスタンプが3秒まで異なるファイルはタイムスタンプが等しいと見做す--
#
T, temp-dir=========================================================================対応OS : Linux / Windows / Mac書式 : -T<dir_path> | --temp-dir=<dir_path>-------------------------------------------------------------------------dir_path既定値 : なし値の範囲 : パス文字列=========================================================================
一時ファイルを作成するディレクトリを指定します。
相対パスで指定した場合は、コマンドラインで指定した宛先に存在するディレクトリが使用されます。指定しない場合は、各ファイルの転送先のディレクトリに一時ファイルが作成されます。
受信側に指定されたディレクトリが存在しない場合は、ファイルの転送は失敗します。
--例1:[user@localhost ~]$ hsync --temp-dir=_temp_dir_ ... /path/to/src 192.168.1.100:/path/to/dst// /path/to/dst/_temp_dir_ が使用されます。例2:[user@localhost ~]$ hsync --temp-dir=/home/user/_temp_dir_ ...--
#
z, compress=========================================================================対応OS : Linux / Windows / Mac書式 : -z | --compress=========================================================================
転送するファイルのデータを圧縮するように指示します。
本コマンドでは、ファイルのデータを梱包したメッセージ、ファイルの送信要求などを行う制御メッセージなどサーバと交換するすべてのメッセージを対象に圧縮を行います。
--例:[user@localhost ~]$ hsync -z ...--
#
compress-level=========================================================================対応OS : Linux / Windows / Mac書式 : --compress-level=<level>-------------------------------------------------------------------------level既定値 : 5値の範囲 : 0 - 9=========================================================================
圧縮レベルを指定します。
--例:[user@localhost ~]$ hsync --compress-level=5 ...--
#
hcp-exclude=========================================================================対応OS : Linux / Windows / Mac書式 : --hcp-exclude=========================================================================
ファイル転送時に本ソフトウェアが生成する次のようなファイルを転送から除外します。
- Linux/macOS : .hcp.out, .hcp.in, .hcp.diag, .hcp.statistics.*
- Windows : _hcp.out, _hcp.in, _hcp.diag, _hcp.statistics.*
--filterオプションを使用して指定することもできます。
本オプションは、後述する除外フィルタを使用します。1回指定した場合は、実行プラットフォーム(クライアントOS)で生成されるファイル名のパターンが除外フィルタとして登録されます。2回指定した場合は、実行プラットフォームで生成されないファイル名のパターンが登録されます。
--例1:[user@localhost ~]$ hsync --hcp-exclude ...例2:[user@localhost ~]$ hsync --filter="-H" ...--
#
f, filter=========================================================================対応OS : Linux / Windows / Mac書式 : -f <filter-desc> | --filter=<filter-desc>-------------------------------------------------------------------------filter-desc既定値 : なし値の範囲 : フィルタ文字列=========================================================================
ファイル選択フィルタを追加します。フィルタは(後述する--exclude, --exclude-from, --include, --include-from含め)指定した順番で適用されます。書式、適用ルールなどは下記文書を参照ください。
https://download.samba.org/pub/rsync/rsync.1FILTER RULESINCLUDE/EXCLUDE PATTERN RULESMERGE-FILE FILTER RULESLIST-CLEARING FILTER RULEANCHORING INCLUDE/EXCLUDE PATTERNSPER-DIRECTORY RULES AND DELETE
本ソフトウェアでは、exclude/includeの更新子(modifier)について固有のパラメータ"H"を提供します(--hcp-excludeオプション参照)。
本版では、以下の機能は未実装です。
マージフィルタ(merge, dir-merge)
exclude/includeの更新子のうち"/", "C", "s", "r", "p", "x"
--例:// すべてのディレクトリをたどって.cファイルをコピー[user@localhost ~]$ hsync --filter="+ */" --filter="+ *.c" --filter="- *" ...// 同じ作用[user@localhost ~]$ hsync --include="*/" --filter="+ *.c" --exclude="*" ...--
#
exclude=========================================================================対応OS : Linux / Windows / Mac書式 : --exclude=<exclude-desc>-------------------------------------------------------------------------exclude-desc既定値 : なし値の範囲 : 除外フィルタ文字列=========================================================================
除外フィルタを追加します。書式、適用ルールなどは下記文書を参照ください。
https://download.samba.org/pub/rsync/rsync.1FILTER RULESINCLUDE/EXCLUDE PATTERN RULES
本オプションは、前述のexcludeルール用の更新子(modifier)は記述できません。また、"+"と先頭に記述した場合は、includeルールとなります。"!"と記述した場合は、clearルールとなります。
--例:[user@localhost ~]$ hsync --exclude="*.c" ...--
#
exclude-from=========================================================================対応OS : Linux / Windows / Mac書式 : --exclude-from=<file>-------------------------------------------------------------------------file既定値 : なし値の範囲 : 除外ルールを読み込むファイルのパス文字列=========================================================================
除外ルールを読み込むファイルを追加します。ファイルの内容の書式などは下記文書を参照ください。
https://download.samba.org/pub/rsync/rsync.1FILTER RULESINCLUDE/EXCLUDE PATTERN RULES
前後に他のフィルタルールが指定された場合は、その間にファイルから読み込んだルールが挿入されます。
--例:[user@localhost ~]$ cat .exclude-rule*[user@localhost ~]$ hsync --include="*/" --include="*.c" --exclude-from=".exclude-rule" ...--
#
include=========================================================================対応OS : Linux / Windows / Mac書式 : --include=<include-desc>-------------------------------------------------------------------------include-desc既定値 : なし値の範囲 : 含有フィルタ文字列=========================================================================
含有フィルタを追加します。書式、適用ルールなどは下記文書を参照ください。
https://download.samba.org/pub/rsync/rsync.1FILTER RULESINCLUDE/EXCLUDE PATTERN RULES
本オプションは、前述のincludeルール用の更新子(modifier)は記述できません。また、"-"と先頭に記述した場合は、excludeルールとなります。"!"と記述した場合は、clearルールとなります。
--例:[user@localhost ~]$ hsync --include="*.c" ...--
#
include-from=========================================================================対応OS : Linux / Windows / Mac書式 : --include-from=<file>-------------------------------------------------------------------------file既定値 : なし値の範囲 : 含有ルールを読み込むファイルのパス文字列=========================================================================
含有ルールを読み込むファイルを追加します。ファイルの内容の書式などは下記文書を参照ください。
https://download.samba.org/pub/rsync/rsync.1FILTER RULESINCLUDE/EXCLUDE PATTERN RULES
前後に他のフィルタルールが指定された場合は、その間にファイルから読み込んだルールが挿入されます。
--例:[user@localhost ~]$ cat .include-rule*/*.c[user@localhost ~]$ hsync --include-from=".include-rule" --exclude="*" ...--
#
files-from=========================================================================対応OS : Linux / Windows / Mac書式 : --files-from=<file>-------------------------------------------------------------------------file既定値 : なし値の範囲 : ファイルリストを読み込むパス文字列=========================================================================
指定したファイルからファイルリストを読み込むように指示します。
--例:[user@localhost ~]$ hsync --files-from=source.file.list ...--
#
stats=========================================================================対応OS : Linux / Windows / Mac書式 : --stats=========================================================================
ファイル転送の統計を出力するように指示します。
-vオプションによる冗長レベルが0か1の場合にSTATS2のログが出力されます。
--例:[user@localhost ~]$ hsync --stats ...--
#
h, human-readable=========================================================================対応OS : Linux / Windows / Mac書式 : -h | --human-readable=========================================================================
出力される数値を可読書式に変更します。
--例:[user@localhost ~]$ hsync --human-readable ...--
#
progress=========================================================================対応OS : Linux / Windows / Mac書式 : --progress=========================================================================
ファイル転送の進行状況を出力するように指示します。
全体または個々のファイルの途中の経過状況(パーセンテージ)を動的に出力する機能には対応していません。
--infoオプションでNAME1とPROGRESS1を指定した場合と同じ内容を出力します。
--例:[user@localhost ~]$ hsync --progress ...--
#
P=========================================================================対応OS : Linux / Windows / Mac書式 : -P=========================================================================
--partialオプションと--progressオプションを使用するように指示します。
--例:[user@localhost ~]$ hsync -P ...--
#
i, itemize-changes=========================================================================対応OS : Linux / Windows / Mac書式 : -i | --itemize-changes=========================================================================
ファイル更新のサマリを表示するように指示します。--out-format=“%i %n%L”と指定したことと同じ扱いになります。
フィールドYについては、”h”, “.”及び”*“は出力されません。
フィールドu(n|b),a,xについては、”.“, ”+“及び”?“のみが出力されます(--atimesなどオプション非対応のため)。
--例:[user@localhost ~]$ hsync --itemize-changes ...--
#
out-format=========================================================================対応OS : Linux / Windows / Mac書式 : --out-format=<format>-------------------------------------------------------------------------format既定値 : %n%L値の範囲 : 書式指定文字列=========================================================================
ファイル更新のログ出力書式を指定します。次の項目をサポートします。
- %B パーミッション
- %C チェックサム(16進表記)
- %G GID
- %i --itemize-changesで表示される内容
- %L シンボリックリンクターゲット名
- %l ファイルサイズ
- %M 更新日時
- %n ファイル名
- %o 操作名(send or recv)
- %p プロセスID
- %t 現在日時
- &u ユーザ名
- %U UID
--例:[user@localhost ~]$ hsync --out-format="%i %l %n%L" ...--
#
stop-at=========================================================================対応OS : Linux / Windows / Mac書式 : --stop-at=at=<timestamp-desc>-------------------------------------------------------------------------timestamp-desc既定値 : なし値の範囲 : y-m-dTh:m=========================================================================
実行期限を指定します。
指定した期限経過してもコピーが完了しない場合は、コピーを中断します。
--例:[user@localhost ~]$ hsync --stop-at=2022-1-1[user@localhost ~]$ hsync --stop-at=1-1 // 翌年の1月1日の0時0分まで[user@localhost ~]$ hsync --stop-at=30 // 次の30日の0時0分まで[user@localhost ~]$ hsync --stop-at=12:00 // 次の12:00まで(当日、または翌日)[user@localhost ~]$ hsync --stop-at=:30 // 次の30分まで--
#
stop-after=========================================================================対応OS : Linux / Windows / Mac書式 : --stop-after=<mins-desc>-------------------------------------------------------------------------mins-desc既定値 : -1値の範囲 : -1, 0 - 符号付き整数の最大値 (分単位)=========================================================================
実行時間の上限を指定します。
mins-descには、実行時間の上限を分単位で数値で指定します。-1を指定した場合は上限を設定しません。
指定した時間経過してもコピーが完了しない場合は、コピーを中断します。
--例:[user@localhost ~]$ hsync --stop-after=30 ...--
#
データフロー制御・帯域制御#
bwlimit=========================================================================対応OS : Linux / Windows / Mac書式 : --bwlimit=<bw-desc>-------------------------------------------------------------------------bw-desc既定値 : なし値の範囲 : 数値文字列(バイト単位)、単位付きスループット指定文字列(バイト単位)=========================================================================
送受信の帯域制限を指定します。
bw-descには、数値文字列もしくは単位(B, K, M, G, T, P)付きのスループット文字列を指定します。値はバイト単位です。サポートする書式は--max-sizeと同じです。
本オプションの帯域制限は、設定項目のMaxSendRate/MaxReceiveRateと同じ方式で行われます。
--例:[user@localhost ~]$ hsync --bwlimit=1000000 ...[user@localhost ~]$ hsync --bwlimit=1mb ...--
#
通信再開機能#
auto-rerun=========================================================================対応OS : Linux / Windows / Mac書式 : --auto-rerun=========================================================================
ネットワークの障害で中断した場合に同期処理を自動で再実行するように指示します。Ctrl+Cなどでユーザから中断を指示した場合は、その時点で再実行はせず停止します。
試行回数AutoRerunTrialsの制限がない場合に--ignore-timesを指定すると、実行せずに停止します。
パスワードで暗号化されていない秘密鍵を使用した公開鍵認証で利用を推奨します。パスワードが必要な場合、再認証による対話動作を回避するために認証情報をメモリ上にキャッシュします。
#
ログ管理機能#
v, verbose=========================================================================対応OS : Linux / Windows / Mac書式 : -v | --verbose=========================================================================
アプリケーション出力の冗長性を1段階上げます。上げると記録される情報が詳細になり、情報量が増えます。
各段階で出力されるログは次の通りです。
-v : NAME1, STATS1, DEL1
-vv : SKIP
-vvv : なし
DEL1はサブディレクトリの記録は出力されません。
--例:[user@localhost ~]$ hsync -v ...[user@localhost ~]$ hsync -vv ...--
#
info#
q, quiet=========================================================================対応OS : Linux / Windows / Mac書式 : -q | --quiet=========================================================================
ログの出力を抑制します。
--例:[user@localhost ~]$ hsync -q ...--
#
log-file=========================================================================対応OS : Linux / Windows / Mac書式 : --log-file=<file>-------------------------------------------------------------------------file既定値 : なし値の範囲 : ログを出力するファイルのパス文字列=========================================================================
コピーの進行状況などのログをファイルに出力するように指示します。ログは指定したファイルへ追加的に記録されます(標準出力にもログが出力されます)。
--例:[user@localhost ~]$ hsync --log-file=hsync.log --exclude="hsync.log" ...--
#
hcp-log-file=========================================================================対応OS : Linux / Windows / Mac書式 : --hcp-log-file=<log-file-path>-------------------------------------------------------------------------log-file-path既定値 : .hcp.diag値の範囲 : ファイルシステムのパス文字列=========================================================================
hsyncコマンドのHCPログを指定したパスのファイルに出力します(障害時の原因調査などで使用します)。アプリケーション出力の出力先変更は、--log-fileオプションを使用します。
--例:[user@localhost ~]$ hsync --hcp-log-file=hcp.log ...--
#
hcp-stat-log-filehcpコマンドの--stat-log-fileオプション参照
#
ソフトウェアの情報確認#
V, version=========================================================================対応OS : Linux / Windows / Mac書式 : -V | --version=========================================================================
hsyncコマンドのバージョンを表示します。
--例:[user@localhost ~]$ hsync -Vhsync client (hsync) 1.4.10_7 / Linux (HpFP2 2.0.0.91_26 WSAPI 0.0.1.36 WS 4.2.0-2)--
#
config-test=========================================================================対応OS : Linux / Windows / Mac書式 : --config-test=========================================================================
hsyncコマンドの入力パラメータ及び設定情報を出力します。
--例:[user@localhost ~]$ hsync --config-test...
Number of Logical Processors : 2Number of Physical Processors : 2
Command parameters verbose : 0 info : - quiet : disable checksum : disable archive : disable recursive : disable relative : disable no-implied-dirs : disable backup : disable backup-dir : - suffix : - update : disable inplace : disable dirs : disable links : disable copy-links : disable copy-unsafe-links : disable safe-links : disable copy-dirlinks : disable keep-dirlinks : disable perms : disable executability : disable chmod : - owner : disable group : disable devices : disable specials : disable -D : disable times : disable omit-dir-times : disable omit-link-times : disable super : disable no-super : disable dry-run : disable auto-rerun : disable whole-file : disable existing : disable ignore-existing : disable delete : disable delete-before : disable delete-during : disable delete-delay : disable delete-after : disable delete-excluded : disable force : disable max-delete : - max-size : - min-size : - partial : disable partial-dir : - prune-empty-dirs : disable numeric-ids : disable usermap : - groupmap : - chown : - ignore-times : disable size-only : disable modify-window : 0 temp-dir : - compress : disable compress-level : 5 hcp-exclude : disable filter : - exclude : - exclude-from : - include : - include-from : - files-from : - stats : disable human-readable : disable progress : disable -P : disable itemize-changes : disable out-format : - log-file : - bwlimit : - stop-at : - stop-after : -1 user : disable password : disable version : disable help : disable mcd : -
Configuration parameters PubkeyAuthentication : yes WinLogonUserAuthentication : yes PAMAuthentication : yes LocalPasswordAuthentication : yes CompressLevel : -1 StrictHostKeyChecking : ask PrivateKeyFile : - [~/.hcp/id_rsa] TransportTimeout : 180 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.
#
h, help=========================================================================対応OS : Linux / Windows / Mac書式 : -h | --help=========================================================================
hsyncコマンドのヘルプを表示します。
このオプションは、短縮名で指定した場合は、転送元と転送先のパスを指定しない場合に動作します。
--例:[user@localhost ~]$ hsync -h--