Skip to main content

クライアントコマンド(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コマンドのオプションは以下の通りです。

同期

説明短縮名オプション名
ダイジェスト検査に基づくファイル送信判定cchecksum
アーカイブモード(-rlptgoDを指定した場合と同じ動作)aarchive
ディレクトリの再帰的同期rrecursive
相対パス名の使用Rrelative
中間パスのディレクトリ情報送信抑制(相対パス使用時)no-implied-dirs
バックアップファイルの作成bbackup
バックアップするディレクトリ名の指定backup-dir
バックアップファイルの接尾辞指定suffix
更新日時が新しいファイルのみ同期uupdate
インプレース式ファイルデータコピーinplace
再帰探索せずにディレクトリコピーddirs
シンボリックリンクをリンクのままコピーllinks
シンボリックリンク参照先の実体をコピーLcopy-links
シンボリックリンク参照先の実体をコピー("unsafe"なシンボリックリンクの場合)copy-unsafe-links
シンボリックリンクのままのコピーを無視("unsafe"なシンボリックリンクの場合)safe-links
シンボリックリンク参照先の実体をコピー(ディレクトリを参照するシンボリックリンクの場合)kcopy-dirlinks
送信先のシンボリックリンクされたディレクトリをディレクトリとして維持Kkeep-dirlinks
転送元パーミッションの保持pperms
実行性の保持Eexecutability
指定したパーミッションの適用chmod
所有者の保持oowner
グループの保持ggroup
デバイスファイルの保持devices
スペシャルファイルの保持specials
devicesとspecialsを指定D
更新日時の保持ttimes
更新日時の保持からディレクトリ除外Oomit-dir-times
更新日時の保持からシンボリックリンク除外Jomit-link-times
受信側にて特権ユーザ動作の試行super
ファイル操作せずに試行ndry-run
ファイル全体コピー(再開動作時)Wwhole-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
空ディレクトリコピーの抑制mprune-empty-dirs
UID/GID値の適用(所有者やグループ保持の際)numeric-ids
ユーザ名マッピング(所有者保持の際)usermap
グループ名マッピング(グループ保持の際)groupmap
ユーザ及びグループ指定chown
更新日時やサイズによるスキップ動作の無効化Iignore-times
サイズが同じファイルはスキップsize-only
更新日時の比較ウィンドウの設定@modify-window
一時ディレクトリを作成して転送Ttemp-dir
転送データブロックの圧縮送信zcompress
圧縮レベルの指定compress-level
フィルタルールの追加ffilter
除外ルールの追加exclude
除外ルールの追加(指定ファイルからの読み込み)exclude-from
含有ルールの追加include
含有ルールの追加(指定ファイルからの読み込み)include-from
ソースファイルリストを指定して同期files-from
ファイル転送の統計情報の追加stats
数値のヒューマンリーダブル表示hhuman-readable
転送中の経過情報表示progress
partialとprogress指定P
ファイル更新の変更点表示iitemize-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

ログ管理機能

説明短縮名オプション名
アプリケーション出力の冗長化vverbose
INFO出力の冗長化(出力カテゴリ)指定info
エラー以外のログを抑制qquiet
進行状況などのログをファイルへ出力指示log-file
アプリケーションログの出力先指定hcp-log-file
各種統計ログの出力先指定hcp-stat-log-file
実行記録の出力先指定hcp-out
多重起動モードで起動multi-run

ソフトウェアの情報確認

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

システム動作環境設定

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

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

--investigation

次のオプションは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書式 : -c | --checksum=========================================================================

チェックサムが一致しない場合にファイルを送信するように動作を変更します。

--例:[user@localhost ~]$ hsync -c ...--

a, archive#

=========================================================================対応OS : Linux / Windows書式 : -a | --archive=========================================================================

-rlptgoDを指定した場合と同じ動作をします。簡単にファイルの属性などを保持しつつディレクトリをアーカイブしたい場合などに指定します。

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

r, recursive#

=========================================================================対応OS : Linux / Windows書式 : -r | --reursive=========================================================================

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

--例:[user@localhost ~]$ hsync -r ...--

R, relative#

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

相対パス名を使用します。

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

no-implied-dirs#

=========================================================================対応OS : Linux / Windows書式 : --no-implied-dirs=========================================================================

--relativeで相対パスを指定した場合に、中間パスのディレクトリ情報を送信せずにファイル転送を実行します。受信側でこのディレクトリ情報によって競合するシンボリックリンクが削除される動作を抑制します。この動作は--keep-dirlinksでも代替可能です。

--例:[user@localhost ~]$ hsync --no-implied-dirs ...--

b, backup#

=========================================================================対応OS : Linux / Windows書式 : -b | --backup=========================================================================

転送先にファイルが存在する場合は、そのファイルをリネームしてバックアップを行います。

--例:[user@localhost ~]$ hsync -b ...--

backup-dir#

=========================================================================対応OS : Linux / Windows書式 : --backup-dir=<dir-name>-------------------------------------------------------------------------dir-name既定値 : なし値の範囲 : パスコンポーネント文字列=========================================================================

バックアップするディレクトリ名を指定します。

--例:[user@localhost ~]$ hsync --backup-dir=backup_20211013 ...--

suffix#

=========================================================================対応OS : Linux / Windows書式 : --suffix=<suffix-name>=========================================================================

バックアップ時にリネームする接尾辞を指定します。

--例:[user@localhost ~]$ hsync --suffix=.bk ...--

u, update#

=========================================================================対応OS : Linux / Windows書式 : -u | --update=========================================================================

転送元ファイルの更新日時が新しい場合のみ同期します。転送元ファイルの更新日時より転送先ファイルの更新日時が新しいファイルは、転送対象とみなしません。ただし、更新日時が同じ場合は、サイズが異なるファイルは転送されます。

--例:[user@localhost ~]$ hsync -u ...--

inplace#

=========================================================================対応OS : Linux / Windows書式 : --inplace=========================================================================

受信側で一時ファイルを作成せずにファイルを書き込みます。ファイル転送が中断された場合は、書き込み中のファイルは残留します。再度ファイル転送を実行する際に、残留しているファイルのダイジェストが検査され、一致する場合はレジューム動作(残留しているファイル末尾の位置から転送を再開)を行います。

--例:[user@localhost ~]$ hsync --inplace ...--

d, dirs#

=========================================================================対応OS : Linux / Windows書式 : -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書式 : -l | --links=========================================================================

転送元のシンボリックリンクをそのまま転送先にコピーします。

--links, --copy-linksなどリンクのコピー動作に関わるオプションを指定しない場合は、シンボリックリンクは転送先にはコピーされません(スキップされます)。

--例:[user@localhost ~]$ hsync -l ...--

L, copy-links#

=========================================================================対応OS : Linux書式 : -L | --copy-links=========================================================================

転送元のシンボリックリンクを実体(ファイルもしくはディレクトリ)に解決してから転送先にコピーします。

--links, --copy-linksなどリンクのコピー動作に関わるオプションを指定しない場合は、シンボリックリンクは転送先にはコピーされません(スキップされます)。

--例:[user@localhost ~]$ hsync -L ...--

copy-unsafe-links#

=========================================================================対応OS : Linux書式 : --copy-unsafe-links=========================================================================

"unsafe"な(安全でない)シンボリックリンクは実体に解決してから転送先にコピーします。

"unsafe"なシンボリックリンクは、次のようなリンクが対象となります。

  • 転送元の転送ルートからのツリー配下外のパスに解決されるようなリンク
  • リンク先が絶対パスが指定されているリンク
--例:[user@localhost ~]$ hsync --copy-unsafe-links ...--

safe-links#

=========================================================================対応OS : Linux書式 : --safe-links=========================================================================

"unsafe"なシンボリックリンクは転送先へリンクとしてコピーしないように指示します。

--copy-linksや--copy-unsafe-linksなど実体でコピーするオプションが指定された場合は、"unsafe"なリンクについては実体としてコピーされます(--safe-linksの指定は打ち消されます)。

--例:[user@localhost ~]$ hsync --safe-links ...--

k, copy-dirlinks#

=========================================================================対応OS : Linux書式 : -k | --copy-dirlinks=========================================================================

転送元のディレクトリへのシンボリックリンクは、そのディレクトリをたどってコピーを行うように指示します。ファイルへのシンボリックリンクは解決せずにそのままリンクをコピーします。

--例:[user@localhost ~]$ hsync --copy-dirlinks ...--

K, keep-dirlinks#

=========================================================================対応OS : Linux書式 : -K | --keep-dirlinks=========================================================================

受信側のシンボリックリンクのうちディレクトリを指しているリンクは削除せずに維持するように指示します。維持されたリンクはディレクトリかのように扱われて、-rオプションを指定した場合には再帰的にファイル転送を行います。

本オプションを指定しない場合、転送元に対象のリンクと同名のディレクトリ(シンボリックリンクでない)が存在すると競合するファイルリソースとしてシンボリックリンクが削除されて転送元のディレクトリに置き換えられます。この動作を抑制したい場合に使用します。

--例:[user@localhost ~]$ hsync --keep-dirlinks ...--

p, perms#

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

転送元のパーミッションを保持してコピーを行うように指示します。

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

E, executability#

=========================================================================対応OS : Linux書式 : -E | --executability=========================================================================

転送元のファイルの実行性(Executability)を判定して宛先の実行パーミッションを設定するように指示します。

所有者、グループまたはその他のいずれかに実行属性が設定されている場合、そのファイルは実行性が有ると判定します。転送元と転送先でこの実行性が異なる場合に、転送先のファイルのパーミッションを次のように変更します。

  • 実行属性をオフにする場合は、すべての実行属性'x'をオフに変更する\

  • 実行属性をオンにする場合は、読込属性'r'が設定されているフィールドの実行属性'x'をオンに変更する

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

chmod#

=========================================================================対応OS : Linux書式 : --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書式 : -o | --owner=========================================================================

転送元ファイルの所有者を保持してコピーするように指示します。

--numeric-idsを指定しない場合、転送先のホストで(転送元ファイルの所有者属性に設定された)ユーザ名からUIDを解決して設定されます。また、UIDが解決できなかった場合(ユーザが存在しない場合など)は、転送元ファイルのUID値が適用されます。

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

g, group#

=========================================================================対応OS : Linux書式 : -g | --group=========================================================================

転送元ファイルのグループを保持してコピーするように指示します。

--numeric-idsを指定しない場合、転送先のホストで(転送元ファイルのグループ属性に設定された)グループ名からGIDを解決して設定されます。また、GIDが解決できなかった場合(グループが存在しない場合など)は、転送元ファイルのGID値が適用されます。

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

devices#

=========================================================================対応OS : Linux書式 : --devices=========================================================================

デバイスファイルをコピーするように指示します。本オプションを指定しない場合、デバイスファイルはスキップされます。

--例:[user@localhost ~]$ hsync --devices ...--

specials#

=========================================================================対応OS : Linux書式 : --specials=========================================================================

特殊ファイル(FIFO及びソケット)をコピーするように指示します。本オプションを指定しない場合、特殊ファイルはスキップされます。

--例:[user@localhost ~]$ hsync --specials ...--

D#

=========================================================================対応OS : Linux書式 : -D=========================================================================

--devicesと--specialsを指定します。

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

t, times#

=========================================================================対応OS : Linux / Windows書式 : -t | --times=========================================================================

転送元ファイルの更新日時を保持してコピーするように指示します。

--例:[user@localhost ~]$ hsync -t ...--

O, omit-dir-times#

=========================================================================対応OS : Linux / Windows書式 : -O | --omit-dir-times=========================================================================

ディレクトリの更新日時は保持せずにコピーするように指示します。

本オプションは、-rオプションおよび--timesオプションと併用した場合に作用します。また、ディレクトリへのシンボリックリンクに対しても、本オプションは適用されます(更新日時は保持されません)。

--例:[user@localhost ~]$ hsync -rtO ...--

J, omit-link-times#

=========================================================================対応OS : Linux / Windows書式 : -J | --omit-link-times=========================================================================

シンボリックリンクの更新日時は保持せずにコピーするように指示します。

本オプションは、--timesオプションおよび--linksオプションと併用した場合に作用します。

--例:[user@localhost ~]$ hsync -tlJ ...--

super#

=========================================================================対応OS : Linux書式 : --super=========================================================================

特権が必要とされるような次の処理を行うように指示します。このオプションを指定しない場合は、受信側のユーザ権限に応じてこれらの処理を実行するかをソフトウェアが判断します。

  • 所有者の変更
  • グループの変更
  • デバイスファイルのコピー

--no-superを指定することで、(ユーザ権限に関係なく)これらの処理を実行しないように指示することもできます。

--例:[user@localhost ~]$ hsync --super ...--

n, dry-run#

=========================================================================対応OS : Linux / Windows書式 : -n | --dry-run=========================================================================

実際のファイルI/O操作は行わずにコピー動作を実行するように指示します。

--例:[user@localhost ~]$ hsync --dry-run ...--

W, whole-file#

=========================================================================対応OS : Linux / Windows書式 : -W | --whole-file=========================================================================

再開動作時にファイル全体をコピーしなおすように指示します。本オプションは、--inplaceオプションと併用した場合に作用します。

--例:[user@localhost ~]$ hsync -W --inplace...--

existing#

=========================================================================対応OS : Linux / Windows書式 : --existing=========================================================================

宛先に存在するファイルをコピー対象とします。宛先に存在しないファイルの新規作成をスキップします。

--例:[user@localhost ~]$ hsync --existing ...--

ignore-existing#

=========================================================================対応OS : Linux / Windows書式 : --ignore-existing=========================================================================

宛先に存在しないファイルをコピー対象とします。宛先にすでに存在するファイルの更新をスキップします。

--例:[user@localhost ~]$ hsync --ignore-existing ...--

del#

=========================================================================対応OS : Linux / Windows書式 : --del=========================================================================

--delete-duringのエイリアスです。

--例:[user@localhost ~]$ hsync --del ...--

delete#

=========================================================================対応OS : Linux / Windows書式 : --delete=========================================================================

転送元に存在しない転送先のファイルやディレクトリを削除するように指示します。ただし、削除範囲は同期されるディレクトリ内に限ります。

--例:[user@localhost ~]$ hsync --delete ...--

delete-before#

=========================================================================対応OS : Linux / Windows書式 : --delete-before=========================================================================

--deleteの削除を、ファイルの転送前に実行するように指示します。

--例:[user@localhost ~]$ hsync --delete-before ...--

delete-during#

=========================================================================対応OS : Linux / Windows書式 : --delete-during=========================================================================

--deleteの削除を、ファイルの転送中に実行するように指示します。

--deleteの動作モードのデフォルトです。

--例:[user@localhost ~]$ hsync --delete-during ...--

delete-delay#

=========================================================================対応OS : Linux / Windows書式 : --delete-delay=========================================================================

--deleteの削除を、ファイルの転送後に遅延実行するように指示します(ファイル削除の是非は転送中に判定します)。

--例:[user@localhost ~]$ hsync --delete-delay ...--

delete-after#

=========================================================================対応OS : Linux / Windows書式 : --delete-after=========================================================================

--deleteの削除を、ファイルの転送後に実行するように指示します。

--例:[user@localhost ~]$ hsync --delete-after ...--

delete-excluded#

=========================================================================対応OS : Linux / Windows書式 : --delete-excluded=========================================================================

ファイル転送が除外されたファイルを削除するように指示します。

--例:[user@localhost ~]$ hsync --delete-excluded ...--

force#

=========================================================================対応OS : Linux / Windows書式 : --force=========================================================================

空でないディレクトリを削除するように指示します。

本オプションは、転送元がファイルやシンボリックリンクで転送先のディレクトリを削除(上書き)する場合に、そのディレクトリが空でなくても削除するように指示する場合に使用します。このケースでこのオプションを指定しなかった場合は、転送先のディレクトリは削除されず転送元のファイルの送信はスキップされます。

--例:[user@localhost ~]$ hsync --force ...--

max-delete#

=========================================================================対応OS : Linux / Windows書式 : --max-delete=<max-num>-------------------------------------------------------------------------max-num既定値 : -1値の範囲 : -1, 0 - 符号付き整数の最大値=========================================================================

削除するファイルやディレクトリの上限数を指定します。

max-numには、この上限数を指定します。-1,0を指定した場合は、転送先ファイルは削除されません。

--例:[user@localhost ~]$ hsync --max-delete=100 ...--

max-size#

=========================================================================対応OS : Linux / Windows書式 : --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書式 : --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書式 : --partial=========================================================================

中断したファイルを転送先で保持するように指示します。

--例:[user@localhost ~]$ hsync --partial ...--

partial-dir#

=========================================================================対応OS : Linux / Windows書式 : --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書式 : -m | --prune-empty-dirs=========================================================================

空のディレクトリを転送しないように指示します。

include/exclude/filterによる不要なルール検査処理を省くなどのために使用します。

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

numeric-ids#

=========================================================================対応OS : Linux / Windows書式 : --numeric-ids=========================================================================

転送先でのファイルの所有者とグループの保持を転送元ファイルのUID/GIDの値を使用して行うように指示します。

--例:[user@localhost ~]$ hsync -o -g --numeric-ids ...--

usermap#

=========================================================================対応OS : Linux書式 : --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書式 : --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書式 : --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書式 : -I | --ignore-times=========================================================================

サイズと更新日時が同じでもファイルをコピーするように指示します。

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

size-only#

=========================================================================対応OS : Linux / Windows書式 : --size-only=========================================================================

サイズが異なればコピーを行うように指示します。更新日が同じ場合でもコピーされるようになります。

--例:[user@localhost ~]$ hsync --size-only ...--

@, modify-window#

=========================================================================対応OS : Linux / Windows書式 : -@<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書式 :  -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書式 : -z | --compress=========================================================================

転送するファイルのデータを圧縮するように指示します。

本コマンドでは、ファイルのデータを梱包したメッセージ、ファイルの送信要求などを行う制御メッセージなどサーバと交換するすべてのメッセージを対象に圧縮を行います。

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

compress-level#

=========================================================================対応OS : Linux / Windows書式 : --compress-level=<level>-------------------------------------------------------------------------level既定値 : 5値の範囲 : 0 - 9=========================================================================

圧縮レベルを指定します。

--例:[user@localhost ~]$ hsync --compress-level=5 ...--

f, filter#

=========================================================================対応OS : Linux / Windows書式 : -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

本版では、以下の機能は未実装です。

  • マージフィルタ(merge, dir-merge)
  • exclude/includeの更新子(modifier)のうち"/", "C", "s", "r", "p", "x"
    --例:// すべてのディレクトリをたどって.cファイルをコピー[user@localhost ~]$ hsync --filter="+ */" --filter="+ *.c" --filter="- *" ...// 同じ作用[user@localhost ~]$ hsync --include="*/" --filter="+ *.c" --exclude="*" ...--

exclude#

=========================================================================対応OS : Linux / Windows書式 : --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書式 : --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書式 : --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書式 : --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書式 : --files-from=<file>-------------------------------------------------------------------------file既定値 : なし値の範囲 : ファイルリストを読み込むパス文字列=========================================================================

指定したファイルからファイルリストを読み込むように指示します。

--例:[user@localhost ~]$ hsync --files-from=source.file.list ...--

stats#

=========================================================================対応OS : Linux / Windows書式 : --stats=========================================================================

ファイル転送の統計を出力するように指示します。

-vオプションによる冗長レベルが0か1の場合にSTATS2のログが出力されます。

--例:[user@localhost ~]$ hsync --stats ...--

h, human-readable#

=========================================================================対応OS : Linux / Windows書式 : -h | --human-readable=========================================================================

出力される数値を可読書式に変更します。

--例:[user@localhost ~]$ hsync --human-readable ...--

progress#

=========================================================================対応OS : Linux / Windows書式 : --progress=========================================================================

ファイル転送の進行状況を出力するように指示します。

全体または個々のファイルの途中の経過状況(パーセンテージ)を動的に出力する機能には対応していません。

--infoオプションでNAME1とPROGRESS1を指定した場合と同じ内容を出力します。

--例:[user@localhost ~]$ hsync --progress ...--

P#

=========================================================================対応OS : Linux / Windows書式 : -P=========================================================================

--partialオプションと--progressオプションを使用するように指示します。

--例:[user@localhost ~]$ hsync -P ...--

i, itemize-changes#

=========================================================================対応OS : Linux / Windows書式 : -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書式 : --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書式 : --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書式 : --stop-after=<mins-desc>-------------------------------------------------------------------------mins-desc既定値 : -1値の範囲 : -1, 0 - 符号付き整数の最大値 (分単位)=========================================================================

実行時間の上限を指定します。

mins-descには、実行時間の上限を分単位で数値で指定します。-1を指定した場合は上限を設定しません。

指定した時間経過してもコピーが完了しない場合は、コピーを中断します。

--例:[user@localhost ~]$ hsync --stop-after=30 ...--

データフロー制御・帯域制御#

bwlimit#

=========================================================================対応OS : Linux / Windows書式 : --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書式 : --auto-rerun=========================================================================

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

試行回数AutoRerunTrialsの制限がない場合に--ignore-timesを指定すると、実行せずに停止します。

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

ログ管理機能#

v, verbose#

=========================================================================対応OS : Linux / Windows書式 : -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書式 : -q | --quiet=========================================================================

ログの出力を抑制します。

--例:[user@localhost ~]$ hsync -q ...--

log-file#

=========================================================================対応OS : Linux / Windows書式 : --log-file=<file>-------------------------------------------------------------------------file既定値 : なし値の範囲 : ログを出力するファイルのパス文字列=========================================================================

コピーの進行状況などのログをファイルに出力するように指示します。ログは指定したファイルへ追加的に記録されます(標準出力にもログが出力されます)。

--例:[user@localhost ~]$ hsync --log-file=hsync.log --exclude="hsync.log" ...--

hcp-log-file#

hcpコマンドの--log-fileオプション参照

hcp-stat-log-file#

hcpコマンドの--stat-log-fileオプション参照

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

V, version#

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

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

--例:[user@localhost ~]$ hsync -Vhsync client (hsync) 1.3.4_3 / Linux (HpFP2 2.0.0.91_21 WSAPI 0.0.1.30 WS 4.2.0-1)--

config-test#

=========================================================================対応OS : Linux / Windows書式 : --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 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 MM128 SHA256 SHA160
Please type '--config-test --config-test ...' for more details.

h, help#

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

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

このオプションは、短縮名で指定した場合は、転送元と転送先のパスを指定しない場合に動作します。

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