GoGPT Best VPN GoSearch

OnWorksファビコン

rsync - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して OnWorks 無料ホスティング プロバイダーで rsync を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド rsync です。

プログラム:

NAME


rsync - 高速かつ多機能なリモート (およびローカル) ファイル コピー ツール

SYNOPSIS


ローカル: rsync [オプション...] SRC... [DEST]

リモート シェル経由でアクセスします。
プル: rsync [オプション...] [USER@]HOST:SRC... [DEST]
プッシュ: rsync [オプション...] SRC... [USER@]HOST:DEST

rsync デーモン経由でアクセスします。
プル: rsync [オプション...] [USER@]HOST::SRC... [DEST]
rsync [オプション...] rsync://[ユーザー@]ホスト[:ポート]/SRC... [送信先]
プッシュ: rsync [オプション...] SRC... [USER@]HOST::DEST
rsync [オプション...] SRC... rsync://[USER@]HOST[:PORT]/DEST

SRC 引数を XNUMX つだけ使用し、DEST 引数を使用しない場合は、代わりにソース ファイルがリストされます。
コピーすること。

DESCRIPTION


Rsync は、高速かつ非常に多機能なファイル コピー ツールです。 ローカルにコピーできるので、
任意のリモート シェルを介して別のホストとの間でやり取りしたり、リモート rsync デーモンとの間でやり取りしたりすることができます。 それは、
動作のあらゆる側面を制御し、非常に柔軟に対応できる多数のオプション
コピーするファイルのセットの指定。 デルタ転送で有名です
アルゴリズム。
ソース ファイルと宛先の既存のファイルの違い。 Rsync は
バックアップやミラーリング、また日常的に使用するための改良されたコピー コマンドとして広く使用されています。

Rsyncは、「クイックチェック」アルゴリズムを使用して転送する必要があるファイルを見つけます(デフォルト)
サイズまたは最終更新時間が変更されたファイルを検索します。 変更があった場合
他の保存された属性 (オプションで要求されたもの) は宛先ファイル上に作成されます。
クイックチェックでファイルのデータを更新する必要がないことが示された場合に直接更新します。

rsync の追加機能には次のようなものがあります。

o リンク、デバイス、所有者、グループ、および権限のコピーのサポート

o GNU tar に似た exclude および exclude-from オプション

oa CVS が無視するのと同じファイルを無視するための CVS 除外モード

o ssh や rsh を含む任意の透過的なリモート シェルを使用できます。

o スーパーユーザー権限は必要ありません

o 遅延コストを最小限に抑えるためのファイル転送のパイプライン化

o 匿名または認証された rsync デーモンのサポート (ミラーリングに最適)

全般的な


Rsync は、リモート ホストとの間でファイルをコピーするか、現在のホスト上でローカルにファイルをコピーします (
XNUMX つのリモート ホスト間でのファイルのコピーはサポートされていません)。

rsync がリモート システムに接続するには XNUMX つの異なる方法があります。 リモート シェルを使用する
プログラムをトランスポート (ssh や rsh など) として使用するか、rsync デーモンに直接接続します。
TCP。 リモート シェル トランスポートは、ソース パスまたは宛先パスに次のものが含まれる場合に常に使用されます。
ホスト指定の後の単一のコロン (:) 区切り文字。 rsync デーモンへの接続
ソースまたは宛先パスに二重コロン (::) が含まれている場合に直接発生します。
ホスト指定の後の区切り文字、または rsync:// URL が指定されている場合 (
例外については、「リモートシェル接続を介した RSYNC デーモン機能の使用」セクションを参照してください。
この後者のルール)。

特殊なケースとして、単一のソース引数が宛先なしで指定された場合、ファイルは
「ls -l」のような出力形式でリストされます。

予想どおり、ソース パスにも宛先パスにもリモート ホストが指定されていない場合、コピーは
局所的に発生します(「 --リストのみ オプション)。

Rsync は、ローカル側を「クライアント」と呼び、リモート側を「サーバー」と呼びます。 やめてください
「サーバー」と rsync デーモンを混同してください -- デーモンは常にサーバーですが、サーバーは
デーモンまたはリモート シェルで生成されたプロセスのいずれかです。

セットアップ


インストール手順については、README ファイルを参照してください。

インストールすると、リモート シェル経由でアクセスできる任意のマシンに rsync を使用できるようになります。
(rsync デーモンモード プロトコルを使用してアクセスできるものもあります)。 リモート用
転送では、最新の rsync は通信に ssh を使用しますが、設定されている可能性があります。
rsh や remsh など、デフォルトで別のリモート シェルを使用します。

また、次のいずれかを使用して、任意のリモート シェルを指定することもできます。 -e コマンドライン
オプションを使用するか、RSYNC_RSH 環境変数を設定します。

rsync はソース マシンと宛先マシンの両方にインストールする必要があることに注意してください。

USAGE


rsync は、rcp を使用するのと同じ方法で使用します。 送信元と宛先を指定する必要があります。
そのうちの XNUMX つはリモートである可能性があります。

おそらく、構文を説明する最良の方法は、いくつかの例を使用することです。

rsync -t *.c foo:src/

これにより、パターン *.c に一致するすべてのファイルが現在のディレクトリから
マシン foo 上のディレクトリ src。 いずれかのファイルがリモート システムにすでに存在する場合
次に、rsync リモート更新プロトコルを使用して、
データの違い。 コマンドライン (*.c) でのワイルドカードの展開に注意してください。
ファイルのリストへの変換は、rsync 自体ではなく、rsync を実行する前にシェルによって処理されます。
(他のすべての posix スタイルのプログラムとまったく同じです)。

rsync -avz foo:src/bar /data/tmp

これにより、マシン foo 上のディレクトリ src/bar からすべてのファイルが再帰的に転送されます。
ローカル マシンの /data/tmp/bar ディレクトリにコピーします。 ファイルは次の場所に転送されます
「アーカイブ」モードでは、シンボリック リンク、デバイス、属性、権限、
所有権などは譲渡の際に保持されます。 さらに、圧縮は次の目的で使用されます。
転送のデータ部分のサイズを削減します。

rsync -avz foo:src/bar/ /data/tmp

ソースの末尾のスラッシュは、追加のソースの作成を避けるためにこの動作を変更します。
宛先のディレクトリレベル。 ソースの末尾の / は意味として考えることができます。
「ディレクトリを名前でコピーする」ではなく「このディレクトリの内容をコピーする」ですが、
どちらの場合も、含まれているディレクトリの属性は、含まれているディレクトリに転送されます。
宛先のディレクトリ。 つまり、次の各コマンドは、
/dest/foo の属性の設定を含め、同じ方法でファイルを作成します。

rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo

ホストおよびモジュール参照では、コピーするために末尾のスラッシュが必要ないことにも注意してください。
デフォルトディレクトリの内容。 たとえば、これらはどちらもリモート ディレクトリの
内容を「/dest」に格納します。

rsync -av ホスト: /dest
rsync -av ホスト::モジュール /dest

ソースと宛先の両方が使用しないローカル専用モードで rsync を使用することもできます。
名前に「:」が含まれています。 この場合、改良された copy コマンドのように動作します。

最後に、特定の rsync デーモンから利用可能なすべての (一覧表示可能な) モジュールを一覧表示できます。
モジュール名を省略すると、次のようになります。

rsync somehost.mydomain.com::

詳細については、次のセクションを参照してください。

高度な USAGE


リモート ホストから複数のファイルを要求する構文は、次のように指定することで実行されます。
追加のリモートホスト引数は最初のものと同じスタイル、またはホスト名が省略されています。
たとえば、これらはすべて機能します。

rsync -av ホスト:ファイル1 :ファイル2 ホスト:ファイル{3,4} /dest/
rsync -av ホスト::modname/file{1,2} host::modname/file3 /dest/
rsync -av ホスト::modname/file1 ::modname/file{3,4}

古いバージョンの rsync では、次の例のように、SRC 内で引用符で囲まれたスペースを使用する必要がありました。

rsync -av ホスト:'dir1/file1 dir2/file2' /dest
rsync ホスト::'modname/dir1/file1 modname/dir2/file2' /dest

この単語分割は最新の rsync でも (デフォルトで) 機能しますが、それほど簡単ではありません。
最初の方法として使用します。

空白を含むファイル名を転送する必要がある場合は、次のいずれかを指定できます。
--保護引数 (-s) オプションを使用しない場合は、次の方法で空白をエスケープする必要があります。
リモートシェルは理解します。 例えば:

rsync -av host:'ファイル\名前\スペースあり' /dest

接続中 AN RSYNC デーモン


リモート シェルを使用せずに rsync をトランスポートとして使用することもできます。 この場合
通常は TCP ポート 873 を使用して、リモートの rsync デーモンに直接接続します。(これは
明らかにデーモンがリモート システム上で実行されている必要があるため、「開始」を参照してください。
詳細については、以下の「接続を受け入れるための RSYNC デーモン」セクションを参照してください。)

この方法で rsync を使用することは、次の点を除いてリモート シェルで使用することと同じです。

o ホスト名を区切るには、単一のコロンの代わりに二重コロン :: を使用します。
パスから取得するか、rsync:// URL を使用します。

o 「パス」の最初の単語は実際にはモジュール名です。

o リモート デーモンは、接続時にその日のメッセージを出力する場合があります。

o リモート デーモンでパス名を指定しない場合、アクセス可能なパスのリスト
デーモン上で表示されます。

o ローカル宛先を指定しない場合は、指定されたファイルのリストが
リモートデーモンが提供されます。

o を指定してはなりません --rsh (-e)オプション。

「src」という名前のリモート モジュール内のすべてのファイルをコピーする例:

rsync -av ホスト::src /dest

リモート デーモン上の一部のモジュールでは認証が必要な場合があります。 その場合は、
接続時にパスワードのプロンプトが表示されます。 を設定することで、パスワードのプロンプトを回避できます。
環境変数 RSYNC_PASSWORD を使用するパスワードに設定するか、
--パスワードファイル オプション。 これは、rsync のスクリプトを作成するときに役立つ場合があります。

警告: 一部のシステムでは、環境変数はすべてのユーザーに表示されます。 それらのシステムでは
--パスワードファイル 推奨されています。

環境変数を設定することで、Web プロキシ経由で接続を確立できます。
RSYNC_PROXY を、Web プロキシを指すホスト名:ポートのペアに設定します。 あなたのウェブに注意してください
プロキシの構成は、ポート 873 へのプロキシ接続をサポートする必要があります。

また、プログラムをプロキシとして使用してデーモン接続を確立するには、
環境変数 RSYNC_CONNECT_PROG を、作成する代わりに実行したいコマンドに追加します。
直接ソケット接続。 文字列には、
rsync コマンドで指定されたホスト名 (したがって、単一の「%」が必要な場合は「%%」を使用してください)
弦)。 例えば:

import RSYNC_CONNECT_PROG='ssh プロキシホスト nc %H 873'
rsync -av targethost1::module/src/ /dest/
rsync -av rsync:://targethost2/module/src/ /dest/

上記で指定したコマンドは、ssh を使用して、プロキシホスト上で nc (netcat) を実行します。
データをターゲットホスト (%H) のポート 873 (rsync デーモン) に送信します。

使用する RSYNC デーモン 商品特徴 VIA A リモートシェル インターフェイス


rsync デーモンのさまざまな機能 (名前付きモジュールなど) を使用すると便利な場合があります。
実際にシステムへの新しいソケット接続を許可することなく (
リモート シェル アクセスを許可するにはすでに必要です)。 Rsync は、次を使用したホストへの接続をサポートしています。
リモート シェルと、そのシェルを読み取ることを期待する使い捨ての「デーモン」サーバーを生成します。
リモートユーザーのホームディレクトリにあるconfigファイル。 これは暗号化したい場合に便利です
デーモンスタイルのデータ転送ですが、デーモンはリモートによって新たに起動されるため、
ユーザーの場合、chroot などの機能を使用したり、ユーザーが使用する uid を変更したりできない場合があります。
デーモン。 (デーモン転送を暗号化する別の方法として、SSH を使用してデーモン転送をトンネリングすることを検討してください。
ローカル ポートをリモート マシンに接続し、そのリモート ホスト上の通常の rsync デーモンを次のように設定します。
「localhost」からの接続のみを許可します。)

ユーザーの観点から見ると、リモート シェル接続を介したデーモン転送では、ほぼ
唯一の例外を除いて、通常の rsync デーモン転送と同じコマンドライン構文
コマンドラインでリモートシェルプログラムを明示的に設定する必要があるということです
--rsh=コマンド オプション。 (環境で RSYNC_RSH を設定しても、これはオンになりません)
機能)。例:

rsync -av --rsh=ssh host::module /dest

別のリモート シェル ユーザーを指定する必要がある場合は、user@ プレフィックスが次の点にあることに注意してください。
ホストの前に rsync-user 値を指定しています (必要なモジュールの場合)
ユーザーベースの認証)。 これは、ssh に「-l user」オプションを与える必要があることを意味します。
この例のように、リモート シェルを指定するときは、
--rsh オプション:

rsync -av -e "ssh -l ssh-user" rsync-user@host::module /dest

「ssh-user」は ssh レベルで使用されます。 「rsync-user」はログインに使用されます。
「モジュール」。

起動 AN RSYNC デーモン 同意 CONNECTIONS


rsync デーモンに接続するには、リモート システムにデーモンがすでに存在している必要があります。
実行中 (または、inetd のようなものを構成して、rsync デーモンを生成する必要があります)
特定のポート上の受信接続)。 デーモンの起動方法の詳細については、
受信ソケット接続を処理します。を参照してください。 rsyncd.conf(5) man ページ -- つまり
デーモンの構成ファイル。デーモンの実行方法の完全な詳細が含まれています。
(スタンドアロンおよび inetd 構成を含む)。

転送にリモート シェル トランスポートのいずれかを使用している場合は、次のことを行う必要はありません。
rsync デーモンを手動で開始します。

ソート済み 転送 注文


Rsync は常に、指定されたファイル名を内部転送リストにソートします。 このハンドルは
同じ名前のディレクトリの内容をマージすると、簡単に
重複したファイル名を削除すると、ファイルが別の形式で転送されるときに誰かが混乱する可能性があります。
コマンドラインで指定した順序とは異なります。

特定のファイルを別のファイルよりも先に転送する必要がある場合は、
ファイルを別の rsync 呼び出しに追加するか、使用することを検討してください。 --遅延更新 (影響はありません
転送順序はソートされますが、最終的なファイル更新フェーズがさらに発生します。
急速)。


ここでは、rsync の使用方法の例をいくつか示します。

大容量の MS Word ファイルとメールで構成される妻のホーム ディレクトリをバックアップするには
フォルダーを実行する cron ジョブを使用します。

rsync -Cavz 。 arvidsjaur:バックアップ

毎晩、PPP 接続を介して、私のマシン「arvidsjaur」上の重複ディレクトリに接続します。

Samba ソース ツリーを同期するには、次の Makefile ターゲットを使用します。

取得する:
rsync -avuzb --exclude '*~' samba:samba/ 。
プット:
rsync -Cavuzb 。 サンバ:サンバ/
同期: 配置する

これにより、接続の反対側にある CVS ディレクトリと同期できるようになります。 それから私はそうします
リモートマシン上での CVS 操作。リモート CVS プロトコルとして時間を大幅に節約します。
あまり効率的ではありません。

次のコマンドを使用して、「古い」FTP サイトと「新しい」FTP サイトの間でディレクトリをミラーリングします。

rsync -az -e ssh --delete ~ftp/pub/samba nimbus:"~ftp/pub/tridge"

これは、数時間ごとに cron から起動されます。

OPTIONS 概要


以下は、rsync で利用可能なオプションの簡単な要約です。 詳細を参照してください
完全な説明については、以下の説明を参照してください。

-v、--verbose は冗長性を高めます
--info=FLAGS きめ細かい情報の冗長性
--debug=FLAGS きめ細かいデバッグの詳細度
--msgs2stderr デバッグ用の特別な出力処理
-q、--quiet エラー以外のメッセージを抑制する
--no-motd デーモンモード MOTD を抑制します (警告を参照)
-c、--checksum 変更時間とサイズではなく、チェックサムに基づいてスキップします
-a、--archive アーカイブ モード。 -rlptgoD と等しい (-H、-A、-X なし)
--no-OPTION 暗黙のオプションをオフにします (例: --no-D)
-r、--recursive ディレクトリ内を再帰します。
-R、--relative 相対パス名を使用します
--no-implied-dirs は --relative を使用して暗黙のディレクトリを送信しません
-b、--backup バックアップを作成します (--suffix および --backup-dir を参照)
--backup-dir=DIR DIR に基づいた階層にバックアップを作成します
--suffix=SUFFIX バックアップ接尾辞 (デフォルト ~ --backup-dir なし)
-u、--update 受信側で新しいファイルをスキップします
--inplace 宛先ファイルをインプレースで更新します
--append データを短いファイルに追加します
--append-verify --ファイルチェックサムに古いデータを追加
-d、--dirs 再帰せずにディレクトリを転送します
-l、--links シンボリックリンクをシンボリックリンクとしてコピーします
-L、--copy-links シンボリックリンクを参照先のファイル/ディレクトリに変換します
--copy-unsafe-links 「安全でない」シンボリックリンクのみが変換されます
--safe-links はツリーの外側を指すシンボリックリンクを無視します
--munge-links シンボリックリンクを書き換えて安全性を高めます
-k、--copy-dirlinks は、ディレクトリへのシンボリックリンクを参照先ディレクトリに変換します。
-K、--keep-dirlinks は受信側のシンボリックリンクされたディレクトリをディレクトリとして扱います
-H、--hard-links ハードリンクを保持します
-p、--perms 権限を保持します
-E、--executability 実行可能性を保持します。
--chmod=CHMOD ファイルおよび/またはディレクトリのアクセス許可に影響を与える
-A、--acls は ACL を保持します (-p を意味します)
-X、--xattrs は拡張属性を保持します
-o、--owner 所有者を保持します (スーパーユーザーのみ)
-g、--group グループを保持します
--devices デバイス ファイルを保存します (スーパーユーザーのみ)
--specials は特別なファイルを保存します
-D --devices --specials と同じ
-t、--times は変更時間を保存します
-O、--omit-dir-times --times からディレクトリを省略します
-J、--omit-link-times --times からシンボリックリンクを省略します。
--スーパーレシーバーはスーパーユーザーのアクティビティを試みます
--fake-super xattrs を使用して特権属性を保存/回復する
-S、--sparse スパース ファイルを効率的に処理します
--preallocate 書き込む前に dest ファイルを割り当てます
-n、--dry-run 変更を加えずに試行を実行します。
-W、 --whole-file ファイル全体をコピーします (delta-xfer アルゴリズムなし)
-x、--one-file-system はファイルシステムの境界を越えません
-B, --block-size=SIZE チェックサムのブロック サイズを強制的に固定します
-e, --rsh=COMMAND 使用するリモート シェルを指定します
--rsync-path=PROGRAM リモート マシンで実行する rsync を指定します
--existing 受信機での新しいファイルの作成をスキップします
--ignore-existing 受信機に存在するファイルの更新をスキップします
--remove-source-files 送信者は同期されたファイル (非ディレクトリ) を削除します
--del --delete-during のエイリアス
--delete 宛先ディレクトリから無関係なファイルを削除します。
--delete-before レシーバーは xfer 中ではなく、xfer 前に削除します。
--delete-during 受信者は転送中に削除します
--delete-lay 途中で削除を検索し、その後に削除します
--delete-after 受信者は転送中ではなく転送後に削除します
--delete-excluded は宛先ディレクトリから除外されたファイルも削除します
--ignore-missing-args 欠落しているソース引数をエラーなしで無視します
--delete-missing-args 宛先から欠落しているソース引数を削除します
--ignore-errors I/O エラーがあっても削除します
--force 空でなくてもディレクトリを強制的に削除します
--max-delete=NUM NUM 個を超えるファイルは削除しません
--max-size=SIZE SIZE を超えるファイルは転送しません
--min-size=SIZE SIZE より小さいファイルは転送しません
--partial 部分的に転送されたファイルを保持します
--partial-dir=DIR 部分的に転送されたファイルを DIR に置きます
--lay-updates は、更新されたすべてのファイルを最後に所定の位置に配置します
-m, --prune-empty-dirs ファイルリストから空のディレクトリチェーンを削除します
--numeric-ids はユーザー/グループ名によって uid/gid 値をマップしません
--usermap=STRING カスタム ユーザー名マッピング
--groupmap=STRING カスタム グループ名のマッピング
--chown=USER:GROUP 単純なユーザー名/グループ名のマッピング
--timeout=SECONDS I/O タイムアウトを秒単位で設定します
--contimeout=SECONDS デーモン接続タイムアウトを秒単位で設定します
-I、--ignore-times はサイズと時間が一致するファイルをスキップしません
--size-only サイズが一致するファイルをスキップします
--modify-window=NUM 精度を下げて mod-time を比較します
-T, --temp-dir=DIR ディレクトリ DIR に一時ファイルを作成します
-y、--fuzzy dest ファイルがない場合は、類似したファイルを検索します。
--compare-dest=DIR は、受信したファイルを DIR と比較します。
--copy-dest=DIR ... 変更されていないファイルのコピーを含めます
--link-dest=DIR 変更されていない場合は DIR 内のファイルへのハードリンク
-z、--compress 転送中にファイルデータを圧縮します
--compress-level=NUM は圧縮レベルを明示的に設定します
--skip-compress=LIST LIST 内のサフィックスを持つファイルの圧縮をスキップします
-C、--cvs-exclude CVS と同じ方法でファイルを自動無視します
-f, --filter=RULE ファイル フィルタリング ルールを追加します
-F --filter='dir-merge /.rsync-filter' と同じ
繰り返し: --filter='- .rsync-filter'
--exclude=PATTERN PATTERN に一致するファイルを除外します
--exclude-from=FILE ファイルから除外パターンを読み取ります
--include=PATTERN PATTERN に一致するファイルを除外しません
--include-from=FILE ファイルからインクルード パターンを読み取ります
--files-from=FILE FILE からソースファイル名のリストを読み取ります
-0、--from0 すべての *from/filter ファイルは 0 で区切られます
-s、--protect-args スペース分割なし。 ワイルドカード文字のみ
--address=ADDRESS 送信ソケットをデーモンにバインドするアドレス
--port=PORT 二重コロンの代替ポート番号を指定します
--sockopts=OPTIONS カスタム TCP オプションを指定します
--blocking-io リモート シェルにブロッキング I/O を使用します
--outbuf=N|L|B バッファリングを None、Line、または Block に設定します
--stats はファイル転送の統計情報を提供します。
-8、--8-bit-output 出力では上位ビット文字がエスケープされないままになります。
-h, --人間が読める形式で数値を出力します。
--progress 転送中の進行状況を表示します
-P --partial --progress と同じ
-i、--itemize-changes はすべての更新の変更概要を出力します。
-M, --remote-option=OPTION OPTION をリモート側にのみ送信します
--out-format=FORMAT 指定された FORMAT を使用して出力を更新します
--log-file=FILE 指定した FILE に何を行っているかを記録します。
--log-file-format=指定された FMT を使用して FMT ログを更新します
--password-file=FILE ファイルからデーモンアクセスパスワードを読み取ります
--list-only ファイルをコピーする代わりにリストします。
--bwlimit=RATE ソケット I/O 帯域幅を制限する
--write-batch=FILE バッチ更新を FILE に書き込みます
--only-write-batch=--write-batch と同様のファイルですが、dest は更新されません
--read-batch=FILE バッチ化された更新を FILE から読み取ります
--protocol=NUM 古いプロトコル バージョンの使用を強制します
--iconv=CONVERT_SPEC ファイル名の文字セット変換を要求します
--checksum-seed=NUM ブロック/ファイルのチェックサム シードを設定します (詳細)
-4、--ipv4 IPv4 を優先します
-6、--ipv6 IPv6 を優先します
--version バージョン番号を出力します
(-h) --help このヘルプを表示します (-h コメントについては以下を参照)

Rsync はデーモンとして実行することもでき、その場合は次のオプションが受け入れられます。

--daemon rsync デーモンとして実行します
--address=ADDRESS 指定されたアドレスにバインドします
--bwlimit=RATE ソケット I/O 帯域幅を制限する
--config=FILE 代替の rsyncd.conf ファイルを指定します
-M, --dparam=OVERRIDE グローバル デーモン設定パラメータを上書きします
--no-detach 親から切り離しません
--port=PORT 代替ポート番号でリッスンする
--log-file=FILE 「ログ ファイル」設定を上書きします。
--log-file-format=FMT は「ログ形式」設定を上書きします。
--sockopts=OPTIONS カスタム TCP オプションを指定します
-v、--verbose は冗長性を高めます
-4、--ipv4 IPv4 を優先します
-6、--ipv6 IPv6 を優先します
-h、--help このヘルプを表示します (--daemon の後に使用した場合)

OPTIONS


Rsync は、長いオプション (XNUMX つのダッシュ + 単語) と短いオプション (XNUMX つのダッシュ + 文字) の両方を受け入れます。
利用可能なオプションの完全なリストを以下に説明します。 オプションが指定できる場合
複数の場合、選択肢はカンマで区切られます。 一部のオプションには長い値しかありません
短編ではなく異形。 オプションがパラメータを取る場合、パラメータは後にのみリストされます。
長いバージョンも指定する必要がありますが、短いバージョンでも指定する必要があります。 を指定する場合
パラメータを指定するには、--option=param 形式を使用するか、「=」を空白に置き換えることができます。
パラメータをシェルの環境で存続させるには、何らかの方法で引用符で囲む必要がある場合があります。
コマンドライン解析。 ファイル名の先頭のチルダ (~) は置換されることに注意してください。
シェルによって、つまり --option=~/ふー チルダはホームディレクトリに変更されません
(その場合は「=」を削除してください)。

- 助けて rsync で使用できるオプションを説明する短いヘルプ ページを印刷して終了します。 のために
古いバージョンの rsync との下位互換性があるため、ヘルプも出力されます
あなたが使用する場合 -h 他の引数なしのオプション。

- バージョン
rsync のバージョン番号を出力して終了します。

-v、 -詳細
このオプションを選択すると、転送中に提供される情報の量が増加します。
デフォルトでは、rsync はサイレントに動作します。 独身者 -v についての情報を提供します
ファイルが転送され、最後に簡単な概要が表示されます。 二 -v オプションは
どのファイルがスキップされているかに関する情報と、さらに詳しい情報を提供します。
最後に。 XNUMXつ以上 -v オプションはデバッグする場合にのみ使用してください。
rsync。

最新の rsync では、 -v オプションは、グループの設定と同等です。 - 情報
  - デバッグ オプション。 これらの新しいオプションに加えて、または
使用する代わりに -詳細、詳細な設定は暗黙の設定をオーバーライドするため、
の設定 -v。 両方 - 情報   - デバッグ 助けを求める方法がある
冗長性が増加するたびにどのようなフラグが設定されるのかを正確に示します。

ただし、デーモンの「最大冗長性」設定により、実行方法が制限されることに注意してください。
レベルの高いレベルでは、デーモン側でさまざまな個別のフラグを設定できます。 のために
たとえば、最大値が 2 の場合、より高い値に設定されている情報フラグやデバッグ フラグはすべて無効になります。
によって設定される値よりも高い値 -vv に格下げされます -vv のレベル
デーモンのロギング。

--info=フラグ
このオプションを使用すると、必要な情報出力をきめ細かく制御できます。
見る。 個々のフラグ名の後にレベル番号が続く場合があり、0 は意味を示します。
その出力を無音にします。1 がデフォルトの出力レベルで、それより大きな数字は
そのフラグの出力を増やします (より高いレベルをサポートするものに対して)。 使用
--info=ヘルプ 使用可能なすべてのフラグ名、その出力内容、およびどのようなフラグを確認するには
詳細レベルが上がるたびに名前が追加されます。 いくつかの例:

rsync -a --info=progress2 src/dest/
rsync -avv --info=stats2,misc1,flist0 src/ dest/

注意してください --info=名前の出力は、 --out-format  
--itemize-changes (-i) オプション。 内容の詳細については、これらのオプションを参照してください。
出力とそのタイミング。

このオプションは 3.1.0 に追加されたため、サーバー側の古い rsync が拒否する可能性があります。
きめ細かい制御の試み (XNUMX つ以上のフラグを送信する必要がある場合)
サーバーも古すぎて理解できませんでした)。 「最大値」も参照してください。
「冗長性」については、デーモンを扱う際の上記の注意事項を参照してください。

--debug=フラグ
このオプションを使用すると、必要なデバッグ出力をきめ細かく制御できます。
見る。 個々のフラグ名の後にレベル番号が続く場合があり、0 は次のことを意味します。
出力を無音にします。1 がデフォルトの出力レベルで、それより大きな数値になります。
そのフラグの出力を増やします (より高いレベルをサポートするものに対して)。 使用
--debug = help 使用可能なすべてのフラグ名、その出力内容、およびどのようなフラグを確認するには
詳細レベルが上がるたびに名前が追加されます。 いくつかの例:

rsync -avvv --debug=none src/ dest/
rsync -avA --del --debug=del2,acl src/ dest/

一部のデバッグ メッセージは、次の場合にのみ出力されることに注意してください。 --msgs2stderr 指定されている、
特に、I/O およびバッファのデバッグに関するものです。

このオプションは 3.1.0 に追加されたため、サーバー側の古い rsync が拒否する可能性があります。
きめ細かい制御の試み (XNUMX つ以上のフラグを送信する必要がある場合)
サーバーも古すぎて理解できませんでした)。 「最大値」も参照してください。
「冗長性」については、デーモンを扱う際の上記の注意事項を参照してください。

--msgs2stderr
このオプションは、すべての出力を標準エラー出力ではなく直接送信するように rsync を変更します。
プロトコル経由でクライアント側にメッセージを送信します (通常は情報を出力します)
標準出力経由のメッセージ)。 これは主に、次のような問題を回避するためのデバッグを目的としています。
追加のプロトコル データが変更される可能性があるため、プロトコル経由で送信されるデータを変更する
何が試されているのか。 デーモン接続には標準エラー出力がないことに注意してください。
チャネルを使用してクライアント側にメッセージを送り返すため、何かを行っている場合は
このオプションを使用してデーモン転送デバッグを行う場合は、次を使用してデーモンを起動する必要があります。
--デタッチなし これにより、デーモン側の stderr 出力を確認できるようになります。

このオプションには、stderr 出力がラインバッファリングされるという副作用があります。
3 つのプログラムの出力のマージは、より読みやすい方法で行われます。

-NS、 - 静かな
このオプションを選択すると、転送中に提供される情報の量が減ります。
特に、リモート サーバーからの情報メッセージを抑制します。 このオプションは
cron から rsync を呼び出すときに便利です。

--no-motd
このオプションは、クライアントが開始時に出力する情報に影響します。
デーモンの転送。 これにより、今日のメッセージ (MOTD) テキストが表示されなくなりますが、
デーモンが「rsync host::」に応答して送信するモジュールのリストに影響します。
(rsync プロトコルの制限のため) リクエストのため、次の場合はこのオプションを省略してください。
デーモンからモジュールのリストを要求したいと考えています。

-私、 --無視回数
通常、rsync は、すでに同じサイズで同じ内容を持つファイルをスキップします。
変更のタイムスタンプ。 このオプションを選択すると、この「クイック チェック」動作がオフになります。
更新するすべてのファイル。

--サイズのみ
これにより、必要なファイルを見つけるための rsync の「クイック チェック」アルゴリズムが変更されます。
転送され、次のいずれかの方法でファイルを転送するデフォルトから変更されます。
サイズを変更したり、最終更新時刻を変更したりして、次のファイルを検索するだけです。
サイズが変更されました。 これは、別の rsync を使用した後に rsync を使い始めるときに便利です。
ミラーリング システムではタイムスタンプが正確に保存されない可能性があります。

--変更ウィンドウ
XNUMX つのタイムスタンプを比較する場合、rsync はタイムスタンプが等しいものとして扱います。
違いは、modify-window の値のみです。 これは通常 0 (正確な値の場合) です。
match)、ただし、一部の環境ではこれをより大きな値に設定すると便利な場合があります。
状況。 特に、MS Windows FAT との間で転送する場合
ファイルシステム (時間を 2 秒の解像度で表します)、 --modify-window=1
は便利です (時間の差異は最大 1 秒まで許容されます)。

-NS、 -チェックサム
これにより、ファイルが変更され、ファイルが必要かどうかを rsync がチェックする方法が変更されます。
転送。 このオプションを使用しないと、rsync は (デフォルトで) 「クイック チェック」を使用します。
各ファイルのサイズと最終変更時刻が送信者間で一致するかどうかを確認します。
そして受信機。 このオプションは、各ファイルの 128 ビット チェックサムを比較するようにこれを変更します。
サイズが一致するもの。 チェックサムを生成するということは、双方が
転送中のファイル内のすべてのデータを読み取るために大量のディスク I/O を消費します (そして
これは、変更されたファイルを転送するために行われる読み取りの前に行われるため、これは
が鈍くなるにもほどがあります。

送信側は、ファイル システム スキャンの実行中にチェックサムを生成します。
これにより、利用可能なファイルのリストが作成されます。 受信側がチェックサムを生成する
変更されたファイルをスキャンしているときに、同じファイルをチェックサムします
対応する送信者のファイルとしてのサイズ: サイズが変更されたファイルまたは
変更されたチェックサムが転送用に選択されます。

rsync は常にそれぞれのことを検証することに注意してください。 転送 ファイルは正しく
ファイル全体のチェックサムをチェックすることで受信側で再構築されます。
ファイルの転送時に生成されますが、転送後には自動的に
検証は、このオプションの転送前とは何の関係もありません。
ファイルを更新する必要がありますか?」を確認してください。

プロトコル 30 以降 (3.0.0 で最初にサポート) では、使用されるチェックサムは MD5 です。
古いプロトコルの場合、使用されるチェックサムは MD4 です。

-a、 - 記録
これは -rlptgoD。 これは、再帰が必要であることを伝える簡単な方法です。
ほとんどすべてを保存したいと考えています (-H は顕著な省略です)。 唯一の
上記の同等性の例外は、次の場合です。 --files-from が指定されている場合、
-r は暗示されていません。

注意してください -a ありません 保存する ハードリンク複数リンクされたファイルを見つけるのは難しいためです。
高い。 別途指定する必要があります -H.

--オプションなし
オプション名に接頭辞を付けることで、XNUMX つ以上の暗黙のオプションをオフにすることができます。
"いいえ-"。 すべてのオプションに「no-」という接頭辞を付けることができるわけではありません。暗黙的なオプションのみです。
他のオプションによる (例: --no-D, --パーマなし) またはさまざまなデフォルトが異なる
状況(例: --ファイル全体なし, --no-blocking-io, --no-dirs)。 指定することもできます
「no-」プレフィックスの後の短いオプション名または長いオプション名 (例: - または
と同じ -- 親戚なし).

例: を使用したい場合 -a (- 記録)でもしたくない -o (- オーナー)、 その代わり
変換の -a-rlptgD、指定できます -a --いやいや (または -a -所有者なし).

オプションの順序は重要です。 - または -a -r オプション
最終的には逆にオンになります -a - または。 また、
の副作用 --files-from オプションは位置に影響を与えるものではありません。
いくつかのオプションのデフォルト状態が変更され、意味がわずかに変わります。 -a (参照
--files-from 詳細についてはオプションを参照してください)。

-NS、 -再帰的
これにより、rsync にディレクトリを再帰的にコピーするように指示されます。 こちらも参照 --ディレクトリ (-d).

rsync 3.0.0 から、使用される再帰アルゴリズムはインクリメンタル スキャンになりました。
以前よりもメモリの使用量が大幅に減り、スキャン後に転送が開始されます。
最初のいくつかのディレクトリが完成しました。 この増分スキャンのみ
再帰アルゴリズムに影響しますが、非再帰転送は変更されません。 それ
また、転送の両端がバージョン 3.0.0 以上である場合にのみ可能です。

一部のオプションでは完全なファイル リストを知るために rsync が必要なため、これらのオプションでは
増分再帰モード。 これらには次のものが含まれます。 --前に削除, -- 削除後,
--prune-empty-dirs, --遅延更新。 このため、デフォルトの削除モードは
指定するとき - 消去 ようになりました --削除中 接続の両端が
少なくとも 3.0.0 である (使用 --デル or --削除中 この改善された削除をリクエストするには
モードを明示的に指定します)。 も参照してください。 -- 削除遅延 より良い選択であるオプション
-- 削除後.

増分再帰は、次のコマンドを使用して無効にできます。 --インクリカーシブなし オプションまたはその
短い --no-ir エイリアス。

-NS、 - 相対的
相対パスを使用します。 これは、コマンドで指定された絶対パス名が
ファイル名の最後の部分だけでなく、行がサーバーに送信されます。 これ
複数の異なるディレクトリを同時に送信する場合に特に便利です。
同時。 たとえば、次のコマンドを使用したとします。

rsync -av /foo/bar/baz.c リモート:/ tmp /

...これにより、baz.c という名前のファイルが作成されます / tmp / リモートマシン上で。 代わりに
使いました

rsync -avR /foo/bar/baz.c リモート:/ tmp /

この場合、/tmp/foo/bar/baz.c という名前のファイルがリモート マシン上に作成されます。
フルパスを保持します。 これらの追加のパス要素は「暗黙的」と呼ばれます。
ディレクトリ」(つまり、上記の例では「foo」ディレクトリと「foo/bar」ディレクトリ)。

rsync 3.0.0 以降、rsync は常にこれらの暗黙のディレクトリを実際のディレクトリとして送信します。
パス要素が実際にはファイル リストのシンボリック リンクである場合でも、ファイル リスト内のディレクトリ
送る側。 これにより、完全なファイルをコピーする際のいくつかの本当に予期しない動作が防止されます。
パスにシンボリックリンクがあることに気づかなかったファイルのパス。 あなたがしたい場合は
サーバー側のシンボリックリンクを複製し、そのパスを介して両方のシンボリックリンクを含めます。
実際のパスを介して参照先ディレクトリを指定します。 古い rsync を扱っている場合は、
送信側では、 --暗黙のディレクトリなし オプションを選択します。

暗黙的に送信されるパス情報の量を制限することもできます。
指定したパスごとにディレクトリを作成します。 送信側に最新の rsync を使用する
(2.6.7 以降)、次のようにソース パスにドットとスラッシュを挿入できます。
この:

rsync -avR /foo/./bar/baz.c リモート:/ tmp /

これにより、リモート マシン上に /tmp/bar/baz.c が作成されます。 (ドットは次のようにする必要があることに注意してください
後ろにスラッシュが続くので、「/foo/」になります。 省略されません。) 古い rsync の場合
バージョンが異なる場合は、chdir を使用してソース パスを制限する必要があります。 例えば、
ファイルをプッシュするとき:

(cd /foo; rsync -avR bar/baz.c リモート:/ tmp /)

(括弧は XNUMX つのコマンドをサブシェルに入れていることに注意してください。そのため、「cd」
このコマンドは、今後のコマンドに対して有効になりません。) ファイルをプルしている場合
古い rsync からは、次のイディオムを使用します (ただし、デーモン以外の転送の場合のみ)。

rsync -avR --rsync-path="cd /foo; rsync" \
リモート:bar/baz.c / tmp /

--暗黙のディレクトリなし
このオプションは、 - 相対的 オプション。 そうなったとき
指定した場合、ソース名からの暗黙のディレクトリの属性は反映されません。
転送に含まれます。 これは、対応するパス要素が
宛先システムが存在する場合は変更されず、不足しているものは暗黙的に残ります。
ディレクトリはデフォルトの属性で作成されます。 これにより、これらの暗黙的なことも可能になります
path 要素には、ディレクトリへのシンボリックリンクであるなど、大きな違いがあります。
受け取る側。

たとえば、コマンドライン引数または files-from エントリが rsync に転送を指示した場合、
ファイル「path/foo/file」、ディレクトリ「path」および「path/foo」は、次の場合に暗黙的に示されます。
- 相対的 使用されている。 「path/foo」が宛先システム上の「bar」へのシンボリックリンクである場合、
受信側の rsync は通常、「path/foo」を削除し、ディレクトリとして再作成します。
ファイルを新しいディレクトリに受け取ります。 と --暗黙のディレクトリなし、受信
rsync は既存の path 要素を使用して「path/foo/file」を更新します。つまり、
ファイルは「path/bar」に作成されます。 このリンクを実現する別の方法
保存とは、 --keep-dirlinks オプション (シンボリックリンクにも影響します)
転送の残りのディレクトリに移動します)。

3.0.0 より古い rsync からファイルをプルする場合は、このオプションを使用する必要がある場合があります。
送信側がリクエストしたパスにシンボリックリンクを持っていて、暗黙のシンボリックリンクを希望する場合
ディレクトリは通常のディレクトリとして転送されます。

-NS、 - バックアップ
このオプションを使用すると、各ファイルが変更されるたびに、既存の宛先ファイルの名前が変更されます。
転送または削除されます。 バックアップ ファイルの保存先と内容を制御できます (
any) サフィックスは、 --バックアップディレクトリ   - サフィックス オプション。

指定しない場合は注意してください --バックアップディレクトリ、(1) --dir-time を省略 オプションは
暗黙的に示されている場合、および (2) - 消去 も有効です(なし) --削除-除外),
rsync は、バックアップサフィックスの「protect」フィルタールールをすべてのファイルの末尾に追加します。
既存の除外 (例: -f "P *~」)。 これにより、以前にバックアップされたファイルが保存されなくなります
削除されないように。 独自のフィルタ ルールを指定する場合は、
独自の除外/保護ルールを手動で上位のどこかに挿入する必要があります。
効果を発揮するのに十分な優先度を持つようにリストを作成します (たとえば、ルールが
末尾に「*」の包含/除外を指定すると、自動追加ルールは決して適用されません。
に達しました)。

--backup-dir=DIR
と組み合わせて - バックアップ オプションの場合、これは rsync にすべてのバックアップを保存するように指示します。
受信側の指定ディレクトリ。 これは増分に使用できます
バックアップ。 さらに、バックアップ接尾辞を指定することもできます。 - サフィックス オプション
(それ以外の場合、指定したディレクトリにバックアップされたファイルは元の状態を保持します。
ファイル名)。

相対パスを指定した場合、バックアップ ディレクトリは相対パスとなることに注意してください。
宛先ディレクトリなので、おそらく絶対パスのいずれかを指定する必要があります
または「../」で始まるパス。 rsync デーモンが受信側の場合、バックアップ
dir はモジュールのパス階層の外に出ることができないため、削除しないように十分注意してください。
それをコピーするか、そこにコピーします。

--suffix=サフィックス
このオプションを使用すると、バックアップで使用されるデフォルトのサフィックスをオーバーライドできます。 - バックアップ
(-b) オプション。 デフォルトの接尾辞は ~ です (いいえの場合)。-バックアップディレクトリ 指定されていた場合、それ以外の場合
それは空の文字列です。

-u、 - 更新
これにより、rsync は宛先に存在し、
ソースファイルよりも新しい変更時刻。 (既存の宛先ファイルの場合
変更時間はソース ファイルと同じです。サイズが異なる場合は更新されます。
異なっています。)

これは、ディレクトリ、シンボリックリンク、またはその他の特別なコピーには影響しないことに注意してください。
ファイル。 また、送信側と受信側のファイル形式の違いは常に異なります。
日付に関係なく、更新するのに十分重要であると考えられます。
オブジェクト。 言い換えれば、ソースにディレクトリがあり、宛先には
ファイルの場合、転送はタイムスタンプに関係なく行われます。

このオプションは除外ではなく転送ルールであるため、対象となるデータには影響しません。
ファイルリストに含まれるため、削除には影響しません。 それはただ制限するだけです
受信者が転送を要求したファイル。

- 所定の位置に
このオプションは、データを更新する必要がある場合に rsync がファイルを転送する方法を変更します。
ファイルの新しいコピーを作成して移動するデフォルトの方法の代わりに、
完了すると、rsync は更新されたデータを直接書き込みます。
宛先ファイル。

これにはいくつかの影響があります。

o ハードリンクが壊れていない。 これは、新しいデータが次の方法で表示されることを意味します。
宛先ファイルへの他のハードリンク。 さらに、コピーしようとする
複数リンクされた宛先ファイルへの異なるソースファイルは結果として生じます
宛先データが前後に変化する「綱引き」が行われます。

o 使用中のバイナリは更新できません (OS がこれを妨げるか、
そうしないと、データをスワップインしようとするバイナリが誤動作するか、
クラッシュ)。

o ファイルのデータは、転送中に一貫性のない状態になり、
転送が中断された場合、または更新が失敗した場合は、そのまま残されます。

o rsync が書き込めないファイルは更新できません。 スーパーユーザーは次のことを行うことができますが、
ファイルを更新するには、通常のユーザーにそのファイルに対する書き込み権限を付与する必要があります。
正常に書き込むためにファイルを開く必要があります。

o rsync のデルタ転送アルゴリズムの効率は、次のような場合に低下する可能性があります。
宛先ファイル内のデータは、コピー先ファイルにコピーされる前に上書きされます。
ファイル内の後の位置に移動します。 を使用する場合、これは適用されません - バックアップ、以来、
rsync はバックアップ ファイルを基本ファイルとして使用できるほど賢いので、
転送。

警告: によってアクセスされているファイルを更新するためにこのオプションを使用しないでください。
他のものもあるので、これをコピーに使用する場合は注意してください。

このオプションは、ブロックベースの変更を含む大きなファイルを転送する場合や、
追加されたデータ、およびネットワーク バインドではなくディスク バインドされたシステムでも同様です。 できる
また、コピーオンライト ファイルシステムのスナップショットがファイルシステム全体の分散を防ぐのにも役立ちます。
わずかな変更しかないファイルの内容。

オプションが意味するのは、 - 部分的 (転送が中断されても削除されないため、
ファイル)ですが、競合します --部分ディレクトリ   --遅延更新。 rsync 2.6.4より前
- 所定の位置に とも互換性がありませんでした --比較先   --リンク先.

-追加
これにより、rsync はファイルの末尾にデータを追加してファイルを更新します。
受信側にすでに存在するデータが同一で​​あると仮定します。
送信側のファイルの先頭で。 ファイルを転送する必要がある場合
受信側のサイズが送信側のサイズと同じかそれより長い場合、
ファイルはスキップされます。 これは、ファイルの非コンテンツの更新を妨げません。
ファイルの属性 (権限、所有権など) を変更する必要がない場合
転送されるだけでなく、非正規ファイルの更新にも影響しません。 暗示する
- 所定の位置に、ただし矛盾しません --スパース (常に拡張しているため、
ファイルの長さ)。

--追加-検証
これは、 -追加 オプションですが、受信側の既存のデータ
サイドはファイル全体のチェックサム検証ステップに含まれているため、
最終検証ステップが失敗した場合に再送信されるファイル (rsync は通常の、
非追加 - 所定の位置に 再送のため転送します)。

注: rsync 3.0.0 より前では、 -追加 オプションは次のように機能しました --追加-検証、もしそうであれば
古い rsync と通信している (または、転送に以前のプロトコルが使用されている)
から 30)、いずれかの追加オプションを指定すると、 --追加-検証 転送。

-NS、 --ディレクトリ
検出されたディレクトリをすべて含めるように送信側に指示します。 とは異なり
-再帰的、ディレクトリ名が指定されていない限り、ディレクトリの内容はコピーされません。
指定するのは「.」です。 または末尾のスラッシュで終わります (例: 「.」、「dir/.」、「dir/」など)。
このオプションを使用しない場合、または -再帰的 オプションを使用すると、rsync はすべてのディレクトリをスキップします
遭遇します(そして、それぞれについてその旨のメッセージを出力します)。 両方指定した場合
--ディレクトリ   -再帰的, -再帰的 優先されます。

当学校区の --ディレクトリ オプションは、 --files-from オプションまたは --リストのみ オプション
(暗黙の意味も含めて) --リストのみ 使用法)の場合 -再帰的 指定されていませんでした(つまり、
ディレクトリがリストに表示されます)。 特定 --no-dirs (または --いいえ-d) あなたがしたい場合は
これをオフにしてください。

下位互換性のヘルパー オプションもあります。 --古いディレクトリ (または --古い-d) それ
rsync に「-r --exclude='/*/*'」のハックを使用して、古い rsync にリストを取得するように指示します。
再帰なしの単一ディレクトリ。

-l、 -リンク
シンボリック リンクが検出された場合は、宛先でシンボリック リンクを再作成します。

-L、 --コピーリンク
シンボリックリンクが見つかった場合、シンボリックリンクが指す項目 (参照先) は次のとおりです。
シンボリックリンクではなくコピーされます。 rsync の古いバージョンでは、このオプションには
受信側にシンボリックリンクなどのシンボリックリンクをたどるよう指示する副作用
ディレクトリに。 このような最新の rsync では、次のように指定する必要があります。
--keep-dirlinks (-K) この追加の動作を取得します。 唯一の例外は次の場合です。
古すぎて理解できない rsync にファイルを送信する -K -- その場合、 -L
このオプションには依然として次のような副作用があります。 -K 古い受信 rsync で。

--copy-unsafe-links
これは、rsync に、外部を指すシンボリック リンクの参照先をコピーするように指示します。
コピーされたツリー。 絶対シンボリックリンクも通常のファイルと同様に扱われます。
ソースパス自体のシンボリックリンク - 相対的 使用されている。 このオプションには何もありません
なら追加効果 --コピーリンク とも指定されました。

--安全なリンク
これにより、コピーされたツリーの外側を指すシンボリック リンクをすべて無視するように rsync に指示されます。
すべての絶対シンボリックリンクも無視されます。 このオプションを併用すると、
- 相対的 予期しない結果が生じる可能性があります。

--munge-links
このオプションは、rsync に (1) 受信側のすべてのシンボリックリンクをある方法で変更するように指示します。
これにより、それらは使用できなくなりますが、回復可能になります (以下を参照)、または (2) シンボリックリンクのマンジを解除します。
書き換えられた状態で保管されていた送信側。 これは、次のような場合に役立ちます。
データのソースを完全に信頼していないため、シンボリックリンクを
予想外の場所。

rsync がシンボリックリンクの使用を無効にする方法は、各シンボリックリンクの先頭に文字列を付けることです。
「/rsyncd-munged/」。 これにより、その限りリンクは使用できなくなります。
ディレクトリが存在しません。 このオプションを有効にすると、次の場合に rsync は実行を拒否します。
そのパスはディレクトリまたはディレクトリへのシンボリックリンクです。

このオプションは転送のクライアント側にのみ影響するため、必要な場合は
サーバーに影響を与える場合は、次のように指定します --リモートオプション。 (ローカル転送では、
クライアント側が送信者です。)

デーモンが必要かどうかを設定するため、このオプションはデーモンには影響しません。
「munge symlinks」パラメータを介してシンボリックリンクを書き換えます。 「munge-symlinks」も参照してください。
perl スクリプトはソース コードのサポート ディレクトリにあります。

-k、 --コピーディレクトリリンク
このオプションを使用すると、送信側はディレクトリへのシンボリックリンクをあたかもディレクトリへのシンボリックリンクであるかのように扱います。
は実際のディレクトリでした。 これは、シンボリックリンクを使用したくない場合に便利です。
影響を受けるディレクトリ以外は使用することになるため、 --コピーリンク.

このオプションを使用しないと、送信側がディレクトリをシンボリックリンクに置き換えた場合、
ディレクトリの場合、受信側は新しいディレクトリの邪魔になるものをすべて削除します。
シンボリックリンク (ディレクトリ階層を含む) ( - 力 or - 消去 である
効果)。

参照 --keep-dirlinks 受信側の同様のオプションの場合。

--コピーディレクトリリンク ソース内のディレクトリへのすべてのシンボリックリンクに適用されます。 あなたが望むなら
指定されたいくつかのシンボリックリンクのみをたどる場合、使用できるトリックは、それらを次のように渡すことです。
を使用して、末尾にスラッシュが付いた追加のソース引数 - 相対的 道を作るために
正しく一致します。 例えば:

rsync -r --relative src/./ src/./follow-me/ dest/

これは、rsync が呼び出すため機能します。 lstat(2) 指定されたソース引数に対して、
末尾のスラッシュは lstat(2) シンボリックリンクをたどると、ディレクトリが作成されます。
file-list は、「src/./」のスキャン中に見つかったシンボリックリンクをオーバーライドします。

-K、 --keep-dirlinks
このオプションを使用すると、受信側はディレクトリへのシンボリックリンクを次のように扱います。
それは実際のディレクトリでしたが、送信者からの実際のディレクトリと一致する場合に限ります。
このオプションを使用しないと、受信側のシンボリックリンクが削除され、
実際のディレクトリ。

たとえば、ファイル「file」を含むディレクトリ「foo」を転送するとします。
ただし、「foo」は受信側のディレクトリ「bar」へのシンボリックリンクです。 それなし
--keep-dirlinks、受信者はシンボリックリンク「foo」を削除し、それをディレクトリとして再作成します。
そして、ファイルを新しいディレクトリに受け取ります。 と --keep-dirlinks、 受信機
シンボリックリンクは保持され、「file」は「bar」になります。

注意点が XNUMX つあります。 --keep-dirlinks、すべてのシンボリックリンクを信頼する必要があります
コピーで! 信頼できないユーザーが独自のシンボリックリンクを作成できる場合
任意のディレクトリに保存すると、ユーザーは (後続のコピーで) シンボリックリンクを置き換えることができます。
実際のディレクトリを使用し、シンボリックリンクが任意のディレクトリの内容に影響を与える
参考文献。 バックアップ コピーの場合は、バインドのようなものを使用することをお勧めします。
受信階層を変更するには、シンボリックリンクの代わりにマウントします。

参照 --コピーディレクトリリンク 送信側の同様のオプション。

-NS、 --ハードリンク
これは、rsync にソース内のハードリンクされたファイルを探して、一緒にリンクするように指示します。
宛先にある対応するファイル。 このオプションを使用しない場合、ハードリンクされたファイルは
ソースは別個のファイルであるかのように扱われます。

このオプションは、必ずしもハード リンクのパターンが
宛先はソースのものと完全に一致します。 目的地が考えられるケース
最終的には次のような余分なハード リンクが作成されます。

o 宛先に無関係なハードリンクが含まれている場合 (本来のものよりも多くのリンクが含まれている場合)
ソース ファイル リストに存在します)、コピー アルゴリズムによってそれらが破壊されることはありません
明示的に。 ただし、XNUMX つ以上のパスに内容の違いがある場合は、
通常のファイル更新プロセスでは、これらの余分なリンクが切断されます (そうでない場合)。
- 所定の位置に オプション)。

o を指定すると、 --リンク先 ハードリンクを含むディレクトリ、リンク
宛先ファイルの --リンク先 ファイルによってはパスが発生する可能性があります
リンク先では、 --リンク先
協会。

rsync は、ファイル間のハードリンクのみを検出できることに注意してください。
トランスファーセット。 rsync が追加のハードリンク接続を持つファイルを更新する場合
ファイルが転送外にある場合、そのリンクは壊れます。 使いたくなったら
  - 所定の位置に この破損を避けるためのオプションとして、どのように動作するかをよく理解するように十分に注意してください。
ファイルは更新されるため、意図しない変更が発生することはありません
ハードリンクが残っているため(そして、 - 所定の位置に その他の注意事項については、オプションを参照してください)。

増分再帰がアクティブな場合 (「 -再帰的)、rsync は欠落しているファイルを転送する可能性があります
そのコンテンツへの別のリンクが存在することが検出される前にファイルをハードリンクする
階層内の他の場所にあります。 これは転送の精度には影響しません
(つまり、どのファイルが相互にハードリンクされているか)、その効率だけです (つまり、
後で見つかる可能性がある、ハードリンクされたファイルの新しい初期コピーのデータ
ハードリンクされたファイルセットの別のメンバーでの転送中)。 一つの方法
この非効率性を回避するには、
--インクリカーシブなし オプションを選択します。

-NS、 -パーマ
このオプションを使用すると、受信側の rsync が宛先のアクセス許可を次のように設定します。
ソース権限と同じです。 (「 --chmod 変更方法のオプション
rsync がソース権限とみなすもの。)

このオプションがオンの場合、 OFF、権限は次のように設定されます。

o 既存のファイル (更新されたファイルを含む) は既存のアクセス許可を保持します。
けれども --実行可能性 オプションは実行権限のみを変更する可能性があります
ファイル用。

o 新しいファイルには、ソース ファイルの「通常の」アクセス許可ビットが設定されます。
受信ディレクトリのデフォルトの権限でマスクされた権限
(受信プロセスの umask、または
宛先ディレクトリのデフォルト ACL)、およびその特別な許可ビット
新しいディレクトリが setgid ビットを継承する場合を除き、無効になります。
その親ディレクトリ。

したがって、 -パーマ   --実行可能性 両方が無効になっている場合、rsync の動作は
他のファイル コピー ユーティリティと同じです。 cp(1)と tarとします。

要約すると、宛先ファイル (新旧両方) にソース権限を与えるには、
つかいます -パーマ。 新しいファイルに宛先のデフォルトのアクセス許可を与えるには (終了時に
既存のファイルは変更されていない)、 -パーマ オプションはオフにして使用します
--chmod=ugo=rwX (これにより、マスクされていないすべてのビットが確実に有効になります)。 もしそうなら
この後者の動作を入力しやすくするために、popt エイリアスを定義できます。
この行をファイルに入れるなど ~/.popt (以下の定義は -Z
オプション、および宛先ディレクトリのデフォルトのグループを使用する --no-g が含まれます):

rsync エイリアス -Z --no-p --no-g --chmod=ugo=rwX

この新しいオプションを次のようなコマンドで使用できます。

rsync -avZ src/dest/

(警告: 必ず確認してください -a 従わない -Z、または、その XNUMX つが再び有効になります
上記の「--no-*」オプション。)

新しく作成されたディレクトリ上の宛先の setgid ビットの保持
-パーマ is off は rsync 2.6.7 で追加されました。 古い rsync バージョンが誤って発生する
新しく作成されたファイルの XNUMX つの特別なアクセス許可ビットを保存する -パーマ
新しく作成された宛先の setgid ビット設定を上書きしている間、オフでした。
ディレクトリ。 デフォルトの ACL 遵守が rsync 2.6.7 の ACL パッチに追加されたため、
古い (または ACL が有効になっていない) rsync は、デフォルトの ACL が存在する場合でも umask を使用します。
(これらに影響を与えるのは、受信側の rsync のバージョンであることに注意してください。
行動。)

-E、 --実行可能性
このオプションを使用すると、rsync は実行可能性 (または非実行可能性) を保持します。
通常のファイルの場合 -パーマ は有効になっていません。 通常のファイルは次のようにみなされます。
権限で少なくとも XNUMX つの「x」がオンになっている場合に実行可能です。 既存の
宛先ファイルの実行可能性は、対応するソースの実行可能性とは異なります
ファイルを作成すると、rsync は宛先ファイルのアクセス許可を次のように変更します。

o ファイルを実行不可能にするには、rsync はすべての「x」権限をオフにします。

o ファイルを実行可能にするために、rsync は、
対応する「r」権限が有効になっています。

If -パーマ が有効になっている場合、このオプションは無視されます。

-NS、 --acls
このオプションにより、rsync は宛先 ACL を更新して、
ソースACL。 このオプションはまた、 -パーマ.

送信元システムと宛先システムには、このオプションに対して互換性のある ACL エントリが必要です
適切に動作するように。 を参照してください。 --偽スーパー ACL をバックアップおよび復元する方法のオプション
互換性がないもの。

-NS、 --xattrs
このオプションにより、rsync は宛先拡張属性を更新します。
ソースのものと同じです。

拡張属性名前空間をサポートするシステムの場合、コピーは
スーパーユーザーは、system.* を除くすべての名前空間をコピーします。 通常のユーザーはコピーするだけです
user.* 名前空間。 非ユーザー名前空間を通常どおりバックアップおよび復元できるようにするには
ユーザーは、を参照してください。 --偽スーパー オプションを選択します。

このオプションは、rsyncs の特別な xattr 値をコピーしないことに注意してください (たとえば、
--偽スーパー) オプション (例 -XX) を繰り返さない限り。 この「すべての xattrs をコピー」モード
と一緒に使用することはできません --偽スーパー.

--chmod
このオプションは、rsync に XNUMX つ以上のカンマ区切りの「chmod」モードを適用するように指示します。
転送中のファイルの許可。 結果の値は次のように扱われます。
それは送信側がファイルに提供したアクセス許可でした。つまり、
次の場合、このオプションは既存のファイルに影響を及ぼさないように見える可能性があります。 -パーマ ではありません
有効になりました。

で指定されている通常の解析ルールに加えて、 chmod(1) マンページ、次のことができます
ディレクトリにのみ適用する項目を指定するには、先頭に「D」を付けます。
または、ファイルにのみ適用する項目を指定するには、先頭に「F」を付けます。
たとえば、次の例では、すべてのディレクトリに set-gid のマークが付けられるようにします。
他のユーザーが書き込み可能なファイルがないこと、ユーザーとグループの両方が書き込み可能であること、
そして両方がすべてのビットにわたって一貫した実行可能性を持っていることを確認します。

--chmod=Dg+s,ug+w,Fo-w,+X

XNUMX 進数モードの数値も使用できます。

--chmod=D2775,F664

複数指定することも合法です --chmod オプション、それぞれの追加オプションは
変更のリストに追加されただけです。

ジョブの設定方法については、 -パーマ   --実行可能性 結果の権限値をどのように設定するかのオプション
転送中のファイルに適用できます。

-o、 - オーナー
このオプションにより、rsync は宛先ファイルの所有者を同じに設定します。
ソース ファイル。ただし、受信側の rsync がスーパーユーザーとして実行されている場合に限ります。
(も参照してください - 素晴らしい   --偽スーパー オプション)。 このオプションを使用しないと、
新しいファイルや転送されたファイルは、受信側の呼び出しユーザーに設定されます。

所有権の保持により、デフォルトで一致する名前が関連付けられますが、
状況によっては ID 番号の使用に戻ります (「 --数値ID
完全な議論のためのオプション)。

-NS、 - グループ
このオプションにより、rsync は宛先ファイルのグループを同じに設定します。
ソースファイル。 受信プログラムがスーパーユーザーとして実行されていない場合 (または、
--スーパーなし が指定されていました)、受信側の呼び出しユーザーが指定したグループのみ
のメンバーは保存されます。 このオプションを使用しない場合、グループは次のように設定されます。
受信側の呼び出しユーザーのデフォルトグループ。

グループ情報の保存により、デフォルトで一致する名前が関連付けられますが、
状況によっては、ID 番号の使用に戻る場合があります (「
--数値ID 完全な議論のためのオプション)。

-デバイス
このオプションにより、rsync は文字およびブロック デバイス ファイルをリモートに転送します。
システムを使用してこれらのデバイスを再作成します。 このオプションは、受信側の rsync が次の場合には効果がありません。
スーパーユーザーとしては実行されません (「 - 素晴らしい   --偽スーパー オプション)。

- 特別
このオプションにより、rsync は名前付きソケットや FIFO などの特殊なファイルを転送します。

-D 当学校区の -D オプションはと同等です -デバイス - 特別.

-NS、 -回
これにより、rsync にファイルとともに変更時刻を転送し、更新するように指示されます。
それらはリモート システム上にあります。 このオプションを使用しないと、最適化が行われないことに注意してください。
変更されていないファイルを除外する方法は有効ではありません。 他に
言葉、欠けている -t or -a 次の転送は、あたかもそれが使用されたかのように動作します。 -I,
すべてのファイルが更新されます (ただし、rsync の差分転送アルゴリズムにより、
ファイルが実際に変更されていない場合、更新はかなり効率的です。
使った方が良い -t).

-O、 --dir-time を省略
これは、変更時間を保存するときにディレクトリを省略するように rsync に指示します (「
-回)。 NFS が受信側のディレクトリを共有している場合、それは良いことです。
使うアイデア -O. このオプションは、次を使用する場合に推測されます - バックアップ 無し --バックアップディレクトリ.

このオプションには、ディレクトリの早期作成を避けるという副作用もあります。
増分再帰コピー。 デフォルト --inc-再帰的 コピーは通常、
親ディレクトリ内のすべてのサブディレクトリのパスを早期作成します。
親ディレクトリの変更時刻をすぐに設定できるようにします (
一連の再帰的コピーが完了するまで、それを遅らせる必要があります)。 これ
ディレクトリの変更時間が短縮されない場合、早期作成イディオムは必要ありません。
保存されているためスキップされます。 初期に作成されたディレクトリには正確な情報がないため、
モード、mtime、または所有権を指定するには、このオプションを使用すると、誰かが
このような中途半端なディレクトリは避けてください。

-NS、 --リンク時間の省略
これは、変更時間を維持するときにシンボリックリンクを省略するように rsync に指示します (「
-回).

- 素晴らしい
これは、受信側に、たとえ
rsync の受信はスーパーユーザーによって実行されていません。 これらの活動には次のものが含まれます。
ユーザーは、 - オーナー オプション、すべてのグループ (現在のユーザーのグループだけでなく) を保持します。
グループ)経由で -グループ オプション、および経由でデバイスをコピーする -デバイス オプションを選択します。
これは、スーパーユーザーでなくてもそのようなアクティビティを許可するシステムに役立ちます。
また、受信側がそうでない場合にエラーが発生することを保証するためでもあります。
スーパーユーザーとして実行します。 スーパーユーザーのアクティビティをオフにするには、スーパーユーザーは次のコマンドを使用できます。
--スーパーなし.

--偽スーパー
このオプションを有効にすると、rsync はスーパーユーザーのアクティビティをシミュレートします。
特別な拡張属性を介して特権属性を保存/復元します。
(必要に応じて) 各ファイルに添付されます。 これには、ファイルの所有者とグループが含まれます (ファイルの所有者とグループが含まれる場合)。
はデフォルトではありません)、ファイルのデバイス情報(デバイスと特殊ファイルは次のように作成されます)
空のテキスト ファイル)、および
実ファイル (例: 安全のために実ファイルが私たち、gs、ot を取得します)、またはそれによって制限される可能性があります。
所有者のアクセス (実際のスーパーユーザーはいつでもファイルにアクセス/変更できるため、
私たちが作成したファイルには、作成ユーザーがいつでもアクセス/変更できます)。 このオプション
ACL も処理します ( --acls が指定された場合)および非ユーザー拡張属性(
--xattrs 指定されていました)。

これは、スーパーユーザーを使用せずにデータをバックアップし、ACL を保存する良い方法です。
互換性のないシステムから。

当学校区の --偽スーパー オプションは、オプションが使用される側にのみ影響します。 影響する
リモートシェル接続のリモート側では、 --リモートオプション (-M) オプション:

rsync -av -M--fake-super /src/ host:/dest/

ローカル コピーの場合、このオプションはソースとコピー先の両方に影響します。 もし、あんたが
ローカル コピーで宛先ファイルに対してのみこのオプションを有効にしたい場合は、次のように指定します
-M--フェイクスーパー。 ローカル コピーでソースに対してのみこのオプションを有効にしたい場合
ファイル、結合する --偽スーパー   -M--スーパー.

このオプションは両方によってオーバーライドされます。 - 素晴らしい   --スーパーなし.

デーモンの rsyncd.conf ファイルの「fake super」設定も参照してください。

-NS、 --スパース
スパース ファイルを効率的に処理して、ファイルが占有するスペースを少なくするようにしてください。
行き先。 との衝突 - 所定の位置に データの上書きができないので
まばらな方法で。

--事前割り当て
これは、受信側に各宛先ファイルを最終的なサイズに割り当てるように指示します。
データをファイルに書き込む前に。 Rsync は実際のファイルシステムレベルのみを使用します
Linux によって提供される事前割り当てサポート ファロケート(2) システムコールまたは Cygwin の
posix_fallocate(3)、ゼロバイトを書き込む低速の glibc 実装ではありません
各ブロック。

このオプションがないと、ファイルシステム上で大きなファイルが完全に連続していない可能性があります。
ただし、このオプションを使用すると、rsync のコピーが遅くなる可能性があります。 宛先が
エクステントをサポートするファイルシステム (ext4、xfs、NTFS など) ではない場合、このオプションは
プラスの効果はまったくないかもしれません。

-NS、 -ドライラン
これにより、rsync は、変更を加えない (そして生成する) 試行を実行します。
実際の実行とほとんど同じ出力)。 組み合わせて使用​​することが多い
-v、 -詳細 および -私、 --itemize-changes rsync を確認するオプション
コマンドは、実際に実行する前に実行します。

の出力 --itemize-changes ドライランではまったく同じであるはずであり、
その後の実際の実行 (意図的なトリックやシステム コールの失敗を除く)。 もしも
そうではありません、それはバグです。 その他の出力はほとんど変更されませんが、次の点で異なる場合があります。
一部の地域。 特に、予行演習ではファイル転送の実際のデータは送信されません。
so - 進捗 「送信バイト数」、「受信バイト数」、「リテラルデータ」、
「一致したデータ」の統計が小さすぎて、「高速化」の値が同等である
ファイル転送が不要な実行に。

-W、 --ファイル全体
このオプションを使用すると、rsync のデルタ転送アルゴリズムは使用されず、ファイル全体が
代わりにそのまま送信されます。 このオプションを使用すると、転送が速くなる場合があります。
ソース マシンと宛先マシンの間の帯域幅が帯域幅より高い
ディスクへ (特に「ディスク」が実際にネットワーク化されたファイルシステムである場合)。 これは
ソースと宛先の両方がローカル パスとして指定されている場合のデフォルトですが、
バッチ書き込みオプションが有効でない場合のみ。

-NS、 -- XNUMX つのファイル システム
これは、再帰時にファイルシステムの境界を越えないように rsync に指示します。 これは
複数のファイルシステムからコピーするアイテムを指定するユーザーの能力を制限しない
ユーザーがアクセスした各ディレクトリの階層を通る rsync の再帰だけです。
また、削除中の受信側での同様の再帰も含まれます。
また、rsync は同じデバイスへの「バインド」マウントをオンとして扱うことに注意してください。
同じファイルシステム。

このオプションを繰り返すと、rsync はすべてのマウントポイント ディレクトリをコピーから除外します。
それ以外の場合は、検出した各マウント ポイントに空のディレクトリが含まれます (
基礎となるマウントポイントの属性であるため、マウントされたディレクトリの属性
ディレクトリにアクセスできません)。

rsync がシンボリックリンクを折りたたむように指示されている場合 ( --コピーリンク or
--copy-unsafe-links)、別のデバイス上のディレクトリへのシンボリック リンクは、
マウントポイント。 ディレクトリ以外へのシンボリックリンクは、このオプションの影響を受けません。

- 既存、 --ignore-存在しない
これにより、存在しないファイル (ディレクトリを含む) の作成をスキップするように rsync に指示されます。
まだ目的地です。 このオプションを -- 既存のものを無視
オプションを使用すると、ファイルは更新されません (これは、やりたいことだけが必要な場合に役立ちます)
余分なファイルを削除します)。

このオプションは除外ではなく転送ルールであるため、対象となるデータには影響しません。
ファイルリストに含まれるため、削除には影響しません。 それはただ制限するだけです
受信者が転送を要求したファイル。

-- 既存のものを無視
これにより、宛先に既に存在するファイルの更新をスキップするよう rsync に指示されます (この
ありません 既存のディレクトリを無視するか、何も行われません)。 こちらもご覧ください
- 既存.

このオプションは除外ではなく転送ルールであるため、対象となるデータには影響しません。
ファイルリストに含まれるため、削除には影響しません。 それはただ制限するだけです
受信者が転送を要求したファイル。

このオプションは、 --リンク先 オプションの場合
中断されたバックアップの実行を続行する必要があります。 から --リンク先 ラン
を使用して、新しいディレクトリ階層にコピーされます (適切に使用されている場合)。 - 無視
既存の すでに処理されたファイルが微調整されないようにします(これにより、
ハードリンクされたファイルのアクセス許可の変更)。 これは、このオプションが
宛先階層自体の既存のファイルのみを見ています。

--ソースファイルの削除
これは、送信側からファイルを削除するように rsync に指示します (つまり、
非ディレクトリ) は転送の一部であり、正常に転送されました
受信側で複製します。

このオプションは、静止しているソース ファイルに対してのみ使用する必要があることに注意してください。 もしも
これを使用して、特定のディレクトリに表示されるファイルを
別のホスト、完成したファイルの名前がソースに変更されていることを確認してください
ディレクトリに直接書き込まれないため、rsync がファイルを転送できない可能性があります。
まだ完全に書き込まれていないファイル。 最初にファイルを
rsync が回避できる命名慣用句を使用する必要があります。
まだ終了していないファイルの転送 (たとえば、転送時にファイルに「foo.new」という名前を付ける
書き終わったら名前を「foo」に変更し、オプションを使用します
--exclude='*.new' rsync 転送の場合)。

3.1.0 以降、rsync は送信側の削除をスキップします (そしてエラーを出力します)
ファイルのサイズまたは変更時間が変更されていない場合。

- 消去
これは、rsync に受信側から不要なファイルを削除するように指示します (
送信側ではありません)、送信されているディレクトリのみ
同期。 ディレクトリ全体を送信するように rsync に要求している必要があります (例: "dir" または
"dir/") ディレクトリの内容にワイルドカードを使用しない (例: "dir/*")
ワイルドカードはシェルによって展開され、rsync は転送要求を受け取ります。
ファイルの親ディレクトリではなく、個々のファイル。 除外されるファイル
を使用しない限り、転送も削除から除外されます。
--削除-除外 オプションを指定するか、ルールを送信側でのみ一致するものとしてマークします
(FILTER RULES セクションの include/exclude 修飾子を参照してください)。

rsync 2.6.7 より前では、このオプションは効果がありません。 -再帰的 ました
有効にします。 2.6.7 以降、削除は次の場合にも発生します。 --ディレクトリ (-d)であり、
ただし、コンテンツがコピーされているディレクトリに対してのみ有効です。

このオプションは、使い方を誤ると危険です! 最初に行うのは非常に良い考えです
を使用して実行してみてください -ドライラン オプション(-n)どのファイルになるかを確認する
削除されました。

送信側で I/O エラーが検出された場合、送信側でファイルが削除されます。
宛先は自動的に無効になります。 これは、一時ファイルシステムを防ぐためです
大量削除の原因となる送信側の障害 (NFS エラーなど)
宛先のファイルの数。 これをオーバーライドするには、 -無視-エラー
オプションを選択します。

当学校区の - 消去 オプションは --delete-WHEN オプションの XNUMX つと組み合わせることができます。
紛争だけでなく、 --削除-除外. ただし、 --delete-WHEN のいずれも
オプションが指定されている場合、rsync は --削除中 話すときのアルゴリズム
rsync 3.0.0 以降、および --前に削除 年上の人と話すときのアルゴリズム
rsync。 こちらもご覧ください -- 削除遅延   -- 削除後.

--前に削除
転送前に受信側のファイル削除を依頼する
開始します。 見る - 消去 ファイル削除の詳細については (これは暗示されています)。

ファイルシステムの容量が不足している場合は、転送前に削除すると便利です。
余分なファイルを削除すると、転送が可能になります。 ただし、
転送の開始前に遅延が発生します。この遅延により、
タイムアウトへの転送 (場合 - タイムアウト が指定されました)。 また、rsyncに使用を強制します
すべてをスキャンするために rsync を必要とする古い非増分再帰アルゴリズム。
ファイルを一度にメモリに転送します (参照 -再帰的).

-- 削除中、 --デル
受信側のファイル削除は、
転送が発生します。 ディレクトリごとの削除スキャンは、各ディレクトリの直前に実行されます
ディレクトリの更新がチェックされるため、より効率的なディレクトリのように動作します
--前に削除、ディレクトリごとのフィルターの前に削除を行うことを含む
更新中のファイル。 このオプションは、rsync バージョン 2.6.4 で最初に追加されました。 見る
- 消去 ファイル削除の詳細については (これは暗示されています)。

-- 削除遅延
受信側でのファイル削除が実行中に計算されるように要求します。
転送(のように --削除中)、転送の完了後に削除されます。
と組み合わせると便利です。 --遅延更新 および - ファジー、以上です
使うより効率的 -- 削除後 (ただし、動作が異なる可能性があるため、
-- 削除後 すべての更新が行われた後、別のパスで削除を計算します
終わり)。 削除されたファイルの数が内部バッファをオーバーフローした場合、一時的な
ファイルは、名前を保持するために受信側で作成されます (ファイルは削除されます)。
開いているため、転送中には表示されません)。 の作成の場合
一時ファイルが失敗すると、rsync は使用にフォールバックしようとします -- 削除後 (それは
できない場合 -再帰的 インクリメンタル スキャンを実行しています)。 見る - 消去 (これは
ファイル削除の詳細については、黙示) を参照してください。

-- 削除後
転送後に受信側のファイル削除を依頼する
完了しました。 これは、新しいディレクトリごとのマージ ファイルを次のように送信する場合に便利です。
転送の一部であり、それらの除外を削除に対して有効にしたい
現在の転送のフェーズ。 また、rsync に古いものを強制的に使用させます。
すべてのファイルをスキャンするために rsync を必要とする非増分再帰アルゴリズム
一度にメモリに転送する(参照 -再帰的)。 見る - 消去 (これは
ファイル削除の詳細については、黙示) を参照してください。

--削除-除外
送信側にない受信側のファイルを削除することに加えて、
これにより、受信側のファイルも削除するように rsync に指示されます。
除外 (参照 -除外する)。 作成方法については、FILTER RULES セクションを参照してください。
個々の除外は、受信側でこのように動作し、保護する方法のために
ファイルから --削除-除外。 見る - 消去 (これは暗示されています)の詳細については、
ファイル削除。

--ignore-missing-args
rsync が最初に明示的に要求されたソース ファイルを処理するとき (例:
コマンドライン引数または --files-from エントリ)、通常はエラーです。
ファイルが見つかりません。 このオプションはそのエラーを抑制し、
ファイルを転送します。 これは、ファイルが
は最初に存在することが判明し、後に存在しなくなりました。

--欠落引数の削除
このオプションは (暗黙の) 動作をとります --ignore-missing-args オプションのステップ
さらに: 欠落している各引数は、対応する引数の削除要求になります
受信側の宛先ファイル (存在する必要があります)。 宛先ファイルの場合
--force または
--delete が有効です。 それ以外は、このオプションは他のオプションとは無関係です
削除処理の種類。

欠落しているソース ファイルは、表示される特別なファイル リスト エントリによって表されます。
の「*missing」エントリとして --リストのみ 出力。

-無視-エラー
告げる - 消去 I/O エラーが発生した場合でもファイルを削除します。

- 力
このオプションは、rsync に、空でないディレクトリを置き換えるときに削除するように指示します。
非ディレクトリによって。 これは、削除がアクティブでない場合にのみ関連します (
- 消去 詳細については)。

古い rsync バージョンに関する注意: - 力 を使用するときにまだ必要でした
-- 削除後であり、以前は機能しませんでした。 -再帰的 オプションは
も有効にします。

--max-delete=NUM
これにより、rsync は NUM 個を超えるファイルまたはディレクトリを削除しないように指示されます。 その限界なら
を超えると、それ以降のすべての削除は転送の最後までスキップされます。 で
最後に、rsync は警告 (スキップされた削除のカウントを含む) を出力し、
エラーコード 25 で終了します (より重要なエラー状態が発生しない限り)
発生した)。

バージョン 3.0.0 から、 --max-削除=0 警告を受ける
それらのいずれも削除せずに、宛先の不要なファイルを削除します。 古いクライアント
これを「無制限」と解釈したので、クライアントのバージョンがわからない場合は、
あまり目立たないものを使用できます --max-delete=-1 下位互換性のある方法として
削除が許可されていないことを指定します(ただし、実際に古いバージョンでは警告が表示されませんでした
制限を超えました)。

--最大サイズ=SIZE
これにより、rsync は、指定されたサイズよりも大きいファイルを転送しないように指示されます。
サイズ。 SIZE 値には、サイズ乗数を示す文字列をサフィックスとして付けることができます。
小数値の場合もあります (例: "--最大サイズ=1.5m")。

このオプションは除外ではなく転送ルールであるため、対象となるデータには影響しません。
ファイルリストに含まれるため、削除には影響しません。 それはただ制限するだけです
受信者が転送を要求したファイル。

接尾辞は次のとおりです: "K" (または "KiB") はキビバイト (1024)、"M" (または "MiB") は
メビバイト (1024*1024)、"G" (または "GiB") はギビバイト (1024*1024*1024) です。 もし、あんたが
乗数を 1000 ではなく 1024 にしたい場合は、"KB"、"MB"、または "GB" を使用します。 (ノート:
小文字もすべての値で受け入れられます。) 最後に、サフィックスがいずれかで終わる場合
「+1」または「-1」の場合、値は指定された方向に XNUMX バイトずつオフセットされます。

例: --max-size=1.5mb-1 は 1499999 バイト、 --max-size=2g+1 は 2147483649 です。
バイト

3.1.0 より前のバージョンの rsync では許可されていないことに注意してください。 --最大サイズ=0.

--最小サイズ=SIZE
これにより、指定されたサイズよりも小さいファイルの転送を回避するよう rsync に指示されます。
SIZE は、小さなジャンク ファイルを転送しないようにするのに役立ちます。 を参照してください -最大サイズ
SIZE およびその他の情報の説明のオプション。

3.1.0 より前のバージョンの rsync では許可されていないことに注意してください。 --最小サイズ=0.

-NS、 --block-size=BLOCKSIZE
これにより、rsync のデルタ転送アルゴリズムで使用されるブロック サイズが強制的に固定されます。
価値。 通常、更新される各ファイルのサイズに基づいて選択されます。 見る
詳細はテクニカルレポートをご覧ください。

-e、 --rsh=コマンド
このオプションを使用すると、別のリモート シェル プログラムを選択して、
rsync のローカル コピーとリモート コピー間の通信。 通常、rsync は
デフォルトで ssh を使用するように構成されていますが、ローカル ネットワークで rsh を使用することをお勧めします。

このオプションを一緒に使用する場合 [user@]ホスト::モジュール/パス、次にリモート シェル COMMAND
リモートホストでrsyncデーモンを実行するために使用され、すべてのデータが
直接ではなく、そのリモートシェル接続を介して送信されます
リモートホストで実行中の rsync デーモンへのソケット接続。 セクションを参照
上記の「リモートシェル接続を介した RSYNC-DAEMON 機能の使用」。

COMMAND が提示されている場合、コマンドライン引数は COMMAND で許可されます
単一の引数として rsync に。 スペースを使用する必要があります (タブやその他の空白ではありません)
コマンドと引数を互いに分離するには、single- および/またはを使用できます
引数にスペースを保持するための二重引用符 (バックスラッシュは除く)。 ご了承ください
一重引用符で囲まれた文字列内で一重引用符を二重にすると、一重引用符になります。
二重引用符についても同様です (ただし、どの引用符が
shell が解析中で、引用符 rsync が解析中です)。 いくつかの例:

-e 'ssh -p 2234'
-e 'ssh -o "ProxyCommand nohup ssh ファイアウォール nc -w1 %h %p"'

(ssh ユーザーは、代わりにサイト固有の接続オプションをカスタマイズできることに注意してください。
.ssh/config ファイル)。

RSYNC_RSH 環境を使用してリモート シェル プログラムを選択することもできます。
と同じ範囲の値を受け入れる変数 -e.

参照してください --blocking-io このオプションの影響を受けるオプション。

--rsync-path=プログラム
これを使用して、起動するリモート マシンで実行するプログラムを指定します
rsync。 rsync がデフォルトのリモートシェルのパスにない場合によく使用されます (例:
--rsync-path=/usr/local/bin/rsync)。 PROGRAM は、
シェルなので、実行したい任意のプログラム、スクリプト、またはコマンド シーケンスを使用できます。
rsync が使用している標準入力と標準出力が壊れない限り
伝える。

トリッキーな例の XNUMX つは、リモート マシンに別のデフォルト ディレクトリを設定することです。
で使用するため - 相対的 オプション。 例えば:

rsync -avR --rsync-path="cd /a/b && rsync" ホスト:c/d /e/

-NS、 --remote-option=オプション
このオプションは、特定の効果が必要な、より高度な状況で使用されます。
転送の片側のみに制限されます。 たとえば、合格したい場合
--log-file = FILE   --偽スーパー リモート システムに、次のように指定します。

rsync -av -M --log-file=foo -M--fake-super src/ dest/

オプションが転送のローカル側にのみ影響するようにしたい場合
通常は両側に影響するため、その否定をリモート側に送信します。 このような:

rsync -av -x -M--no-x src/dest/

rsync を引き起こすオプションを切り替えることができるため、これを使用する場合は注意してください。
ソケットを介して次に期待されるデータについて別の考えを持つこと、およびそれ
不可解な方法で失敗させます。

別のものを使用するのが最善であることに注意してください --リモートオプション 必要なオプションごとに
合格。 これにより、使用法が --保護引数 オプション。 もしそうなら
オプションがオフの場合、リモート オプション内のスペースはリモート シェルによって分割されます
それらを保護するための措置を講じない限り。

ローカル転送を実行する場合、「ローカル」側が送信側で「リモート」側が
側が受話器です。

popt オプション解析ライブラリの一部のバージョンにはバグがあることに注意してください。
短いオプションの隣に等しい引数を含む隣接する引数を使用できないようにします
文字 (例: -M--log-file=/tmp/foo。このバグが popt のバージョンに影響する場合は、
rsync に含まれているバージョンの popt を使用できます。

-C、 --cvs-exclude
これは、頻繁に使用するさまざまなファイルを除外するための便利な省略形です。
システム間で転送したくない。 CVS と同様のアルゴリズムを使用して、
ファイルを無視するかどうかを決定します。

除外リストは、次の項目を除外するように初期化されます (これらの初期項目
生鮮品としてマークされています -- フィルタ ルールのセクションを参照してください):

RCS SCCS CVS CVS.adm RCSLOG cvslog.* タグ タグ .make.state .nse_depinfo *~
#* .#* ,* _$* *$ *.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj
*.so *.exe *.Z *.elc *.ln コア .svn/ .git/ .hg/ .bzr/

次に、$HOME/.cvsignore にリストされているファイルがリストに追加され、リストされているすべてのファイルが
CVSIGNORE 環境変数 (すべての cvsignore 名は、
空白)。

最後に、.cvsignore ファイルと同じディレクトリにあるファイルは無視されます。
そこにリストされているパターンの XNUMX つに一致します。 rsync のフィルター/除外とは異なり
ファイルでは、これらのパターンは空白で分割されます。 を参照してください CVS(1)マニュアル詳細
情報を表示します。

組み合わせるなら -C あなた自身で - フィルター これらの CVS に注意する必要があります。
除外は、どこにあるかに関係なく、独自のルールの最後に追加されます -C ました
コマンドラインに配置されます。 これにより、それらの優先度は、あなたが作成したどのルールよりも低くなります。
明示的に指定します。 これらの CVS 除外が挿入される場所を制御したい場合
フィルタ ルールに追加する場合は、 -C コマンドラインオプションとして、
の組み合わせ --filter=:C   --filter=-C (コマンドラインまたは
":C" および "-C" ルールを他のルールと一緒にフィルター ファイルに入れます)。 の
最初のオプションは、.cvsignore ファイルのディレクトリごとのスキャンをオンにします。 の
XNUMX 番目のオプションは、上記の CVS 除外の XNUMX 回限りのインポートを行います。

-NS、 --filter=ルール
このオプションを使用すると、特定のファイルを選択的に除外するルールを追加できます。
転送するファイルのリスト。 これは、
再帰転送。

いくつでも使用できます - フィルター 構築したいコマンドラインのオプション
除外するファイルのリスト。 フィルターに空白が含まれている場合は、必ず引用してください
シェルが単一の引数として rsync にルールを与えるようにします。 以下のテキスト
また、アンダースコアを使用して、区切りのスペースを置き換えることができることにも言及しています
その引数からの規則。

このオプションの詳細については、FILTER RULES セクションを参照してください。

-F 当学校区の -F オプションは、XNUMX つ追加することの省略形です。 - フィルター あなたのコマンドにルール。 の
初めて使用する場合は、このルールの省略形です。

--filter='dir-merge /.rsync-filter'

これにより、rsync はディレクトリごとの .rsync-filter ファイルを探すように指示されます。
階層全体に散りばめられ、それらのルールを使用して、階層内のファイルをフィルタリングします
移行。 もしも -F が繰り返される場合、これはこのルールの省略形です。

--filter='.rsync-filter を除外'

これにより、.rsync-filter ファイル自体が転送から除外されます。

これらのオプションがどのように機能するかの詳細については、FILTER RULES セクションを参照してください。

--exclude=パターン
このオプションは、 - フィルター デフォルトで除外されるオプション
通常のフィルタ ルールの完全なルール解析構文は使用できません。

このオプションの詳細については、FILTER RULES セクションを参照してください。

--exclude-from=ファイル
このオプションは、 -除外する オプションですが、それは FILE を指定します。
除外パターンが含まれています (XNUMX 行に XNUMX つ)。 ファイル内の空白行と行
で始まります ';' または '#' は無視されます。 もしも FILE is -、リストはから読み取られます
標準入力。

--include=パターン
このオプションは、 - フィルター デフォルトでインクルードするオプション
通常のフィルタ ルールの完全なルール解析構文は使用できません。

このオプションの詳細については、FILTER RULES セクションを参照してください。

--include-from=ファイル
このオプションは、 - 含む オプションですが、それは FILE を指定します。
インクルード パターンを含む (XNUMX 行に XNUMX つ)。 ファイル内の空白行と行
で始まります ';' または '#' は無視されます。 もしも FILE is -、リストはから読み取られます
標準入力。

--files-from=ファイル
このオプションを使用すると、転送するファイルの正確なリストを指定できます (
指定された FILE から読み取るか、 - 標準入力用)。 また、デフォルトを微調整します
指定したファイルとディレクトリだけを転送する rsync の動作
より簡単に:

o - 相対的 (-R) オプションが暗示され、パス情報が保持されます
ファイル内の各項目に指定されている (使用 -- 親戚なし or - または if
あなたはそれをオフにしたい)。

o --ディレクトリ (-d) オプションが暗示され、指定されたディレクトリが作成されます
それらを騒々しくスキップするのではなく、宛先のリストで(使用
--no-dirs or --いいえ-d オフにしたい場合)。

o - 記録 (-a) オプションの動作は、 -再帰的 (-r)、 そう
必要に応じて、明示的に指定してください。

o これらの副作用により、rsync のデフォルト状態が変更されるため、
--files-from コマンドラインのオプションは、他のオプションとは関係ありません
解析されます(例 -a 前でも後でも同じように動作します --files-from、同様に
- または および他のすべてのオプション)。

FILE から読み取られるファイル名はすべて、ソース ディレクトリに対して相対的です。
先頭のスラッシュは削除され、「..」参照が
ソースディレクトリ。 たとえば、次のコマンドを使用します。

rsync -a --files-from=/tmp/foo / usr リモート:/バックアップ

/tmp/foo に文字列 "bin" (または "/ binに")、 / usr / bin ディレクトリは
リモート ホストで /backup/bin として作成されます。 「bin/」が含まれている場合 (
末尾のスラッシュ)、ディレクトリの直接の内容も送信されます
(ファイルで明示的に言及する必要はありません -- これはバージョンで始まりました
2.6.4)。 どちらの場合も、 -r オプションが有効になり、そのディレクトリの階層全体
も転送されます (注意してください。 -r 明示的に指定する必要があります
  --files-fromによって暗示されているわけではないため、 -a)。 の影響にも注意してください。
(デフォルトで有効) - 相対的 オプションは、パス情報のみを複製することです
ファイルから読み取られます -- source-spec パスの複製は強制されません
(/ usr この場合)。

加えて、 --files-from ファイルの代わりに、リモート ホストからファイルを読み取ることができます。
ファイルの前に "host:" を指定した場合はローカル ホスト (ホストはいずれかと一致する必要があります)
転送の終了)。 ショートカットとして、「:」のプレフィックスのみを指定して、
「転送のリモート エンドを使用する」。 例えば:

rsync -a --files-from=:/path/file-list src:/ /tmp/copy

これにより、/path/file-list ファイルで指定されたすべてのファイルがコピーされます。
リモートの「src」ホストにあります。

Status --iconv   --保護引数 オプションが指定され、 --files-from
ファイル名があるホストから別のホストに送信されている場合、ファイル名は変換されます
送信側ホストの文字セットから受信側ホストの文字セットへ。

注: --files-from 入力でファイルのリストを並べ替えると、rsync がより便利になります。
間で共有されているパス要素を再訪問することを回避できるため、効率的です。
隣接するエントリ。 入力がソートされていない場合、一部のパス要素 (暗黙の
ディレクトリ) が複数回スキャンされる可能性があり、rsync は最終的に
それらがファイルリスト要素に変わった後、それらを重複解除します。

-0、 --0から
これは、ファイルから読み取ったルール/ファイル名が
null ('\0') 文字。NL、CR、または CR+LF ではありません。 これは影響します -除外-から,
--include-from, --files-from、およびで指定されたすべてのマージされたファイル - フィルター ルール。
影響はありません --cvs-exclude (.cvsignore ファイルから読み取られるすべての名前は
空白で分割します)。

-s、 --保護引数
このオプションは、すべてのファイル名とほとんどのオプションをリモート rsync に送信します。
リモートシェルがそれらを解釈できるようにします。 これは、スペースが分割されていないことを意味します
ワイルドカード以外の特殊文字 (~、$、
;、& など)。 ワイルドカードは、rsync によってリモート ホスト上で展開されます (代わりに
シェルがそれを行う)。

このオプションを --iconv、リモート側に関連する引数も
ローカルからリモートの文字セットに変換されます。 翻訳が起こる
ワイルドカードが展開される前。 も参照してください。 --files-from オプションを選択します。

RSYNC_PROTECT_ARGS 環境変数を介してこのオプションを制御することもできます。
この変数がゼロ以外の値の場合、このオプションはデフォルトで有効になります。
それ以外の場合、デフォルトで無効になります。 どちらの状態も手動でオーバーライドされます
このオプションの正または負のバージョンを指定します ( --いいえ  
--保護引数なし はネガティブ バージョンです)。 このオプションが最初だったので
3.0.0 で導入されたので、必要に応じて無効になっていることを確認する必要があります。
それよりも古いリモート rsync とやり取りします。

Rsync を (ビルド時に) 構成して、このオプションをデフォルトで有効にすることもできます。
( with は、環境とコマンドラインの両方によってオーバーライドされます)。 このオプション
最終的には、まだ未定の時点で新しいデフォルト設定になります
未来。

-NS、 --temp-dir=DIR
このオプションは、作成時に DIR をスクラッチ ディレクトリとして使用するように rsync に指示します。
受信側で転送されたファイルの一時コピー。 デフォルト
動作は、関連するディレクトリと同じディレクトリに各一時ファイルを作成することです
宛先ファイル。 rsync 3.1.1 以降、
指定された DIR の前に追加のドットは付けられません (ただし、
ランダムなサフィックスが追加されます)。

このオプションは、受信側のディスク パーティションにない場合に最もよく使用されます。
転送で最大のファイルのコピーを保持するのに十分な空き容量。 この場合
(つまり、スクラッチ ディレクトリが別のディスク パーティションにある場合)、rsync は
受信した各一時ファイルの名前を、関連するファイルの上に重ねて変更できる
宛先ファイルにコピーする必要がありますが、代わりにその場所にコピーする必要があります。 Rsyncはコピーすることでこれを行います
宛先ファイルの上にあるファイル。これは、宛先が
ファイルには、このコピー中に切り捨てられたデータが含まれます。 これがこのように行われなかった場合
(宛先ファイルが最初に削除された場合でも、ローカルにコピーされたデータは
宛先ディレクトリに一時ファイルを作成し、その場所に名前を変更します)
古いファイルが引き続きディスク容量を占有する可能性がある (誰かが持っていた場合)
オープン)、したがって、ディスクに新しいバージョンを収めるのに十分なスペースがない可能性があります
同時に。

ディスク容量の不足以外の理由でこのオプションを使用している場合は、
と組み合わせたいかもしれません。 --遅延更新 オプション、これはすべてを保証します
コピーされたファイルは、宛先階層のサブディレクトリに配置され、
転送の終わり。 すべての到着を複製するのに十分なスペースがない場合
宛先パーティション上のファイル、rsync にそうでないことを伝える別の方法
ディスク容量を過度に気にするのは、 --部分ディレクトリ オプション付き
相対パス; これは、rsync に、
宛先階層のサブディレクトリに単一のファイルがある場合、rsync は
ステージング領域としての partial-dir をコピーしたファイルに持ち込み、名前を変更します
そこから所定の位置に。 (指定 --部分ディレクトリ 絶対パスでは
この副作用があります。)

-y、 - ファジー
このオプションは、任意の宛先の基本ファイルを探す必要があることを rsync に指示します
不足しているファイル。 現在のアルゴリズムは、
サイズと変更時刻が同じファイルの宛先ファイル、または
似た名前のファイル。 見つかった場合、rsync はファジー ベース ファイルを使用して高速化を試みます。
転送をアップします。

オプションが繰り返される場合、ファジー スキャンも任意の一致で実行されます。
経由で指定された代替宛先ディレクトリ --比較先,
--コピー先または --リンク先.

の使用に注意してください - 消去 オプションは、潜在的なあいまい一致を取り除く可能性があります
ファイルなので、どちらかを使用します -- 削除後 または、必要に応じてファイル名の除外を指定します
これを防ぐために。

--compare-dest=DIR
このオプションは、rsync に使用するように指示します DIR 宛先マシンで追加として
転送の実行に対して転送先ファイルを比較するための階層 (ファイルが転送されている場合)
宛先ディレクトリにありません)。 ファイルが見つかった場合 DIR それは同一です
送信者のファイルに送信すると、ファイルは送信先に転送されません
ディレクトリ。 これは、ファイルのみのスパース バックアップを作成する場合に便利です。
以前のバックアップから変更されました。 このオプションは通常、ファイルにコピーするために使用されます。
空の (または新しく作成された) ディレクトリ。

バージョン 2.6.4 以降、複数の --比較先 ディレクトリが提供される場合があります。
これにより、rsync は指定された順序でリストを検索します。
マッチ。 属性のみが異なる一致が見つかった場合は、ローカル コピーが作成されます。
および属性が更新されました。 一致するファイルが見つからない場合は、
DIRs が選択され、転送の高速化が試みられます。

If DIR は相対パスで、宛先ディレクトリからの相対パスです。 こちらもご覧ください
--コピー先   --リンク先.

注: バージョン 3.1.0 から、rsync は空でないファイルからファイルを削除します。
compare-dest の XNUMX つに完全一致が見つかった場合の宛先階層
階層 (最終結果を新しいコピーにより厳密に一致させる)。

--copy-dest=DIR
このオプションは次のように動作します --比較先、しかしrsyncは変更されていないファイルもコピーします
見つかった DIR ローカル コピーを使用して宛先ディレクトリにコピーします。 これは便利です
既存のファイルをそのままにして、新しい宛先への転送を行います。
すべてのファイルが正常に転送されたときにフラッシュ カットオーバーを実行します。

複数 --コピー先 ディレクトリが提供される場合があります。これにより、rsync が検索されます。
変更されていないファイルに対して指定された順序でのリスト。 一致が見つからない場合、
いずれかの基本ファイル DIRs が選択され、転送の高速化が試みられます。

If DIR は相対パスで、宛先ディレクトリからの相対パスです。 こちらもご覧ください
--比較先   --リンク先.

--link-dest=DIR
このオプションは次のように動作します --コピー先、しかし変更されていないファイルはからハードリンクされています DIR
宛先ディレクトリに。 ファイルは、保存されるすべての点で同一でなければなりません
ファイルが
一緒にリンクされています。 例:

rsync -av --link-dest=$PWD/prior_dir ホスト:src_dir/ new_dir/

ファイルがリンクしていない場合は、属性を再確認してください。 いくつかあるかどうかも確認してください
属性は、rsync の制御外で強制されています。マウント オプションなど
root を XNUMX 人のユーザーにスキッシュするか、一般的な所有権でリムーバブル ドライブをマウントします
(OS X の「このボリュームの所有権を無視する」オプションなど)。

バージョン 2.6.4 以降、複数の --リンク先 ディレクトリが提供される場合があります。
rsync は、指定された順序で完全に一致するリストを検索します。 もしも
属性のみが異なる一致が見つかった場合、ローカル コピーが作成され、
属性が更新されました。 一致するファイルが見つからない場合は、 DIRs
転送を高速化するために選択されます。

このオプションは、空の宛先階層にコピーする場合に最適に機能します。
既存のファイルの属性が調整される可能性があり、それが代替ファイルに影響を与える可能性があります
ハードリンク経由の宛先ファイル。 また、変更の箇条書きは少し得ることができます
混乱した。 バージョン 3.1.0 より前のバージョンでは、代替ディレクトリの完全一致は
宛先ファイルが
もう存在している。

このオプションを --無視回数、rsyncはリンクしません
ファイルを一緒にリンクするのは、同じファイルを代わりにリンクするだけだからです。
ファイルが更新された後、追加のチェックとしてファイルを転送することはありません。

If DIR は相対パスで、宛先ディレクトリからの相対パスです。 こちらもご覧ください
--比較先   --コピー先.

2.6.1 より前の rsync バージョンには、 --リンク先
非スーパーユーザーが適切に機能しない場合 -o 指定された(または暗示された
-a)。 を回避することで、このバグを回避できます。 -o 古いものに送信するときのオプション
rsync。

-z、 -圧縮
このオプションを使用すると、rsync は宛先に送信されるときにファイル データを圧縮します。
送信されるデータの量を削減するマシンです。
低速接続で役立ちます。

このオプションは通常、実際よりも優れた圧縮率を達成することに注意してください。
圧縮リモートシェルまたは圧縮トランスポートを使用して実現
一致するデータ ブロック内の暗黙的な情報を利用します。
接続を介して明示的に送信されません。 この照合データの圧縮は、
ただし、CPU のコストは低く、 -z オプション、ただし場合のみ
両側とも少なくともバージョン 3.1.1 です。

お使いのバージョンの rsync が外部 zlib でコンパイルされている場合 (代わりに
rsync に同梱されている zlib を使用する場合)、古いスタイルはサポートされません。
圧縮、新しいスタイル (反復オプション) 圧縮のみ。 今後はこれ
新しいスタイルの圧縮がデフォルトになる可能性があります。

クライアント rsync は、サーバー上で新しいスタイルの圧縮を要求します。
--新しい圧縮 オプションなので、そのオプションが拒否された場合は、サーバーが
サポートするほど新しいものではない -グーグー. Rsyncも受け入れます --古い圧縮 のオプション
新しいスタイルの圧縮がデフォルトになる将来の時間。

ジョブの設定方法については、 --スキップ圧縮 されないファイルサフィックスのデフォルトリストのオプション
圧縮されます。

--圧縮レベル=NUM
使用する圧縮レベルを明示的に設定します ( -圧縮)それをさせる代わりに
デフォルト。 NUM がゼロ以外の場合、 -圧縮 オプションが暗示されます。

--skip-compress=リスト
圧縮されないファイル サフィックスのリストをオーバーライドします。 の LIST でなければなりません
スラッシュ (/) で区切られた XNUMX つ以上のファイル サフィックス (ドットなし)。

スキップするファイルがないことを示すために、空の文字列を指定できます。

単純な文字クラスの一致がサポートされています。それぞれが次のリストで構成されている必要があります
角括弧内の文字 (たとえば、"[:alpha:]" などの特別なクラスはありません。
がサポートされており、'-' には特別な意味はありません)。

文字アスタリスク (*) と疑問符 (?) には特別な意味はありません。

スキップする 6 つのサフィックスを指定する例を次に示します (1 つのルールのうちの 5 つが一致するため)。
2 つの接尾辞):

--skip-compress=gz/jpg/mp[34]/7z/bz2

圧縮されないサフィックスのデフォルトのリストは次のとおりです (このバージョンでは
rsync の):

7z エース aviファイル bz2 deb gpg gz イソ JPEG JPG lz lzma イゾ mov mp3 mp4 OGG PNG RAR rpm rzip
tbz tgz tlz txz xz z ZIP

このリストはあなたの --スキップ圧縮 XNUMX つを除くすべての状況でリストする: a
デーモン rsync からコピーすると、スキップされたサフィックスがリストに追加されます
非圧縮ファイル (およびそのリストは別のデフォルトに設定されている場合があります)。

--数値ID
このオプションを使用すると、rsync は数値のグループ ID とユーザー ID を転送します。
ユーザー名とグループ名を作成し、両端でそれらをマッピングします。

デフォルトでは、rsync はユーザー名とグループ名を使用して所有権を決定します。
ファイルを与える。 特別な uid 0 と特別なグループ 0 は決してマッピングされません
ユーザー/グループ名 --数値ID オプションが指定されていません。

ユーザーまたはグループの名前がソース システムにない場合、またはソース システムに一致するものがない場合
ソース システムの数値 ID が代わりに使用されます。
rsyncd.conf マンページの「use chroot」設定に関するコメントも参照してください。
chroot 設定が rsync の名前検索機能にどのように影響するかについての情報
ユーザーとグループの概要と、それに対してできること。

--usermap=STRING、 --groupmap=STRING
これらのオプションを使用すると、他のユーザーにマップする必要があるユーザーとグループを指定できます。
受信側の値。 の STRING XNUMX つ以上です FROM: 値のペア
カンマで区切られた。 任意の一致 FROM 送信者からの値は
受信者からの値。 ユーザー名またはユーザー ID を指定できます。 FROM  
価値観と、 FROM 値は、一致するワイルドカード文字列にすることもできます
送信者の名前に対して (ワイルドカードは ID 番号に対しては一致しませんが、
「*」がすべてに一致する理由については、以下を参照してください)。 代わりに ID の範囲を指定できます
包括的な範囲による数値: LOW-HIGH。 例えば:

--usermap=0-99:nobody,wayne:admin,*:normal --groupmap=usr:1,1:usr

リストの最初の一致が使用されます。 すべてを指定する必要があります
単一を使用したユーザー マッピング -- ユーザーマップ オプション、および/または使用するすべてのグループ マッピング
シングル --グループマップ オプションを選択します。

0 ユーザーおよびグループの送信者の名前は、
したがって、0 を使用してこれらの値を一致させるか、
受信側(通常は「ルート」)への影響。 他のすべて FROM 名前が一致する
送信側で使用中。 全て 名前は受信側で使用されているものと一致します。

送信側で名前を持たない ID は空として扱われます。
マッチングのための名前。 これにより、「*」または
空の名前を使用します。 例えば:

--usermap=:nobody --groupmap=*:nobody

--数値ID オプションが使用されている場合、送信者は名前を送信しないため、すべて
ID は名前が空のものとして扱われます。 これは、あなたがする必要があることを意味します
数値を指定 FROM これらの名前のない ID を別の ID にマップする場合の値
値。

  -- ユーザーマップ 任意の効果を持つオプション、 -o (- オーナー) オプションを使用する必要があります
(または暗示的に)、受信者はスーパーユーザーとして実行する必要があります (以下も参照してください)。
  --偽スーパー オプション)。 のために --グループマップ 任意の効果を持つオプション、 -g
(-グループ) オプションを使用する (または暗示する) 必要があり、受信側は
そのグループを設定する権限。

--chown=ユーザー:グループ
このオプションは、グループ GROUP を持つ USER がすべてのファイルを所有することを強制します。 これは
を使用するよりもシンプルなインターフェース -- ユーザーマップ   --グループマップ 直接ですが、そうです
内部でこれらのオプションを使用して実装されているため、それらを混在させることはできません。 もし
USER または GROUP が空です。省略されたユーザー/グループのマッピングは行われません。 グループの場合
が空の場合、末尾のコロンは省略できますが、USER が空の場合、先頭のコロン
を供給する必要があります。

"--chown=foo:bar を指定した場合、これは指定した場合とまったく同じです。
「--usermap=*:foo --groupmap=*:bar」、より簡単です。

--timeout = TIMEOUT
このオプションを使用すると、最大 I/O タイムアウトを秒単位で設定できます。 データがない場合
指定された時間転送された後、rsync は終了します。 デフォルトは 0 です。
タイムアウトなしを意味します。

--コンタイムアウト
このオプションを使用すると、rsync が待機する時間を設定できます。
rsync デーモンへの接続が成功します。 タイムアウトに達すると、rsync は終了します
エラーが発生しました。

- 住所
デフォルトでは、rsync は、rsync に接続するときにワイルドカード アドレスにバインドします。
デーモン。 の - 住所 オプションを使用すると、特定の IP アドレスを指定できます (または
ホスト名) にバインドします。 のこのオプションも参照してください。 - デーモン モードセクション。

--port = PORT
これは、デフォルトの 873 ではなく、使用する代替 TCP ポート番号を指定します。
これは、ダブルコロン (::) 構文を使用して接続する場合にのみ必要です。
rsync デーモン (URL 構文にはポートを指定する方法があるため)
URL)。 のこのオプションも参照してください。 - デーモン モードセクション。

--sockopts
このオプションは、システムを調整したい人に無限の楽しみを提供できます。
最高度。 転送を行う可能性のあるあらゆる種類のソケットオプションを設定できます
より速く(またはより遅く!)。 詳細については、setsockopt() システム コールのマニュアル ページを参照してください。
一部のオプションについては、設定できる場合があります。 デフォルトでは、特別なソケット オプションはありません
設定されています。 これは、リモート rsync デーモンへの直接ソケット接続にのみ影響します。
このオプションは、 - デーモン モードセクション。

--blocking-io
これにより、rsync はリモート シェル トランスポートの起動時にブロッキング I/O を使用するようになります。 もしも
リモート シェルは rsh または remsh のいずれかであり、rsync はデフォルトでブロッキング I/O を使用します。
それ以外の場合は、デフォルトでノンブロッキング I/O が使用されます。 (ssh が優先することに注意してください。
ノンブロッキング I/O)

--outbuf=モード
これにより、出力バッファリング モードが設定されます。 モードは、None (別名 Unbuffered)、Line、
またはブロック(別名フル)。 モードには XNUMX 文字でも指定できます。
大文字または小文字を使用します。

このオプションの主な用途は、次の場合にフル バッファリングをライン バッファリングに変更することです。
rsync の出力は、ファイルまたはパイプに送られます。

-私、 --itemize-changes
各ファイルに加えられている変更の単純な項目別リストを要求します。
属性変更も含む。 これは指定するのとまったく同じです。
--out-format='%i %n%L'. オプションを繰り返すと、変更されていないファイルも
出力、ただし受信 rsync が少なくともバージョン 2.6.7 の場合のみ (使用できます) -vv
古いバージョンのrsyncを使用しますが、他の詳細の出力もオンにします
メッセージ)。

「%i」エスケープには、11 文字の長さの不可解な出力があります。 一般的な形式
糸のようなものです YXcstpoguaxここで、 Y 更新のタイプに置き換えられます
完了、 X ファイルタイプに置き換えられ、他の文字は属性を表します
それらが変更されている場合、それが出力される可能性があります。

に代わる更新の種類 Y 以下の通り:

< ファイルがリモート ホストに転送中 (送信中) であることを意味します。

> ファイルがローカルホストに転送中(受信中)であることを意味します。

c アイテムに対してローカルで変更/作成が行われていることを意味します (
ディレクトリの作成やシンボリックリンクの変更など)。

h アイテムが別のアイテムへのハード リンクであることを意味します (必須
--ハードリンク).

. アイテムが更新されていないことを意味します (ただし、更新されている可能性があります
変更されている属性)。

* 項目化された出力領域の残りの部分にメッセージが含まれていることを意味します (例:
「削除」)。

に代わるファイルタイプ X には次の値があります: f ファイルの場合、 d ディレクトリの場合、 L
シンボリックリンク、 D デバイスの場合、および S 特別なファイル (例: 名前付きソケットと
fifos)。

上記の文字列の他の文字は、次の場合に出力される実際の文字です。
アイテムの関連付けられた属性が更新されているか、「.」 変更なし。
これに対する 1 つの例外は次のとおりです。(XNUMX) 新しく作成されたアイテムは、各文字を
"+"、(2) 同一のアイテムはドットをスペースに置き換え、(3) 不明なアイテム
属性は、各文字を「?」に置き換えます。 (これは、年上の人と話しているときに発生する可能性があります
rsync)。

各文字に関連付けられている属性は次のとおりです。

c 通常のファイルには異なるチェックサムがあることを意味します (必要
-チェックサム) またはシンボリックリンク、デバイス、または特殊ファイルの値が変更されていること。
3.0.1 より前の rsync にファイルを送信している場合、この変更は
フラグは、チェックサムが異なる通常のファイルに対してのみ存在します。

s 通常のファイルのサイズが異なり、によって更新されることを意味します
ファイル転送。

t 変更時刻が異なり、更新されていることを意味します
送信者の値 (必須 -回)。 の代替値 T ということは
変更時間は転送時間に設定されます。
ファイル/シンボリックリンク/デバイスはなしで更新されます -回 シンボリックリンクが変更されたとき
受信機は時間を設定できません。 (注: rsync 3.0.0 を使用する場合
クライアントには、 s と組み合わせたフラグ t 適切な代わりに T
この時刻設定失敗のフラグ)。

p アクセス許可が異なり、更新されていることを意味します
送信者の値 (必須 -パーマ).

o アン o 所有者が異なり、送信者の値に更新されていることを意味します
(必要とする - オーナー およびスーパーユーザー権限)。

g グループが異なり、送信者の値に更新されていることを意味します
(必要とする - グループ およびグループを設定する権限)。

o u スロットは将来の使用のために予約されています。

o a ACL 情報が変更されたことを意味します。

o x 拡張属性情報が変更されたことを意味します。

もう XNUMX つの出力が可能です。ファイルを削除する場合、「%i」は文字列を出力します。
削除されている各アイテムの「*deleting」(あなたが話していると仮定して
削除を詳細として出力するのではなく、ログに記録するのに十分な最新の rsync
メッセージ)。

--out-format=フォーマット
これにより、rsync クライアントがユーザーに何を出力するかを正確に指定できます。
更新ごとに。 形式は、埋め込まれた単一文字を含むテキスト文字列です。
パーセント (%) 文字で始まるエスケープ シーケンス。 のデフォルト形式
次のいずれかの場合、「%n%L」が想定されます --info=名前 or -v が指定されています (これは、
ファイルの名前と、アイテムがリンクの場合はそれが指している場所)。 完全なリストについては、
可能なエスケープ文字。rsyncd.conf の「ログ形式」設定を参照してください。
マンページ。

の指定 --out-format オプションは、 --info=名前 オプション、これは
重要な方法で更新される各ファイル、ディレクトリなどに言及します(転送された
ファイル、再作成されたシンボリックリンク/デバイス、またはタッチされたディレクトリ)。 さらに、
itemize-changes エスケープ (%i) が文字列に含まれています (たとえば、
--itemize-changes オプションが使用された場合)、名前のロギングが増加して、
何らかの方法で変更された項目 (受信側が少なくとも 2.6.4 である限り)。
ジョブの設定方法については、 --itemize-changes "%i" の出力の説明のオプション。

Rsync は、次のいずれかでない限り、ファイルの転送前にフォーマット外の文字列を出力します。
transfer-statistic エスケープが要求された場合、ロギングは次の場所で行われます。
ファイル転送の終了。 この遅延ロギングが有効で、 - 進捗
も指定すると、rsync は転送中のファイルの名前も出力します。
進行状況情報の前に (もちろん、フォーマット外の出力が続きます)。

--log-file = FILE
このオプションにより、rsync は何を行っているかをファイルに記録します。 これは
デーモンが行うロギングですが、クライアント側および/または
非デーモン転送のサーバー側。 クライアントオプションとして指定された場合、転送
"%i %n%L" のデフォルト形式でロギングが有効になります。 を参照してください
--ログファイル形式 これを上書きしたい場合はオプション。

リモート側に何が起こっているかをログに記録するように要求するコマンドの例を次に示します。

rsync -av --remote-option=--log-file=/tmp/rlog src/dest/

これは、接続が予期せず閉じられる理由をデバッグする必要がある場合に非常に役立ちます。

--log-file-format=フォーマット
これにより、更新ごとのログをファイルに入れる内容を正確に指定できます。
によって指定された -ログファイル オプション (これは、このオプションに対しても指定する必要があります。
効果があります)。 空の文字列を指定すると、更新されたファイルは更新されません。
ログファイルに記載されています。 可能なエスケープ文字のリストについては、
rsyncd.conf マンページの「ログ形式」設定。

次の場合に使用されるデフォルトの FORMAT -ログファイル が指定されていて、このオプションが指定されていません is '%i
%n%L'.

-統計
これにより、ファイル転送に関する詳細な統計セットを出力するよう rsync に指示されます。
rsync のデルタ転送アルゴリズムがあなたにとってどれほど効果的かを伝えることができます
データ。 このオプションは、 --info=統計2 0 または 1 と組み合わせると -v
オプション、または --info=統計3 2つ以上組み合わせると -v オプション。

現在の統計は次のとおりです。

o of ファイル (一般的な意味での) すべての「ファイル」の数です。
ディレクトリ、シンボリックリンクなどが含まれます。合計数の後に
ファイルタイプ別のカウントのリスト (合計がゼロでない場合)。 例: "(reg:
5, dir: 3, link: 2, dev: 1, special: 1)" は、通常のファイルの合計をリストします。
ディレクトリ、シンボリックリンク、デバイス、および特殊ファイル。 いずれかの値が 0 の場合、
リストから完全に除外されています。

o of 作成した ファイル 「ファイル」の数です(一般的な意味)
(更新ではなく) 作成されました。 合計数の後に、
ファイルタイプ別のカウントのリスト (合計がゼロでない場合)。

o of 削除された ファイル 「ファイル」の数です(一般的な意味)
(更新ではなく) 作成されました。 合計数の後に、
ファイルタイプ別のカウントのリスト (合計がゼロでない場合)。 この行に注意してください
削除が有効で、プロトコル 31 が実行されている場合にのみ出力されます。
used (rsync 3.1.x のデフォルト)。

o of レギュラー ファイル 転送 は、正常なファイルの数です。
ディレクトリを含まないrsyncのデルタ転送アルゴリズムを介して更新され、
シンボリックリンクなど。rsync 3.1.0 がこれに「通常」という単語を追加したことに注意してください。
見出し。

o トータル file サイズ は、転送中のすべてのファイル サイズの合計です。 これ
ディレクトリまたは特殊ファイルのサイズはカウントされませんが、含まれます
シンボリックリンクのサイズ。

o トータル 転送 file サイズ は、すべてのファイル サイズの合計です。
転送されたファイル。

o リテラル データ に送信する必要があった、一致しないファイル更新デー​​タの量です。
更新されたファイルを再作成するための受信機。

o 一致した データ 再作成時に受信者がローカルで取得したデータの量です。
更新されたファイル。

o File リスト サイズ 送信者がファイルリストデータを送信したときのファイルリストデータの大きさ
受信機。 これはファイル リストのメモリ内サイズよりも小さいため、
rsync がリストを送信するときの重複データの圧縮に。

o File リスト 世代 時間 送信者が費やした秒数です
ファイルリストを作成します。 これには、送信側で最新の rsync が必要です
これが存在するために。

o File リスト 転送 時間 送信者が費やした秒数です
ファイルリストを受信者に送信します。

o トータル バイト 送信 は、rsync がサーバーから送信したすべてのバイト数です。
クライアントサイドからサーバーサイドへ。

o トータル バイト 受け は、rsync するすべての非メッセージ バイトの数です。
クライアント側がサーバー側から受け取る。 「非メッセージ」バイトの意味
サーバーが送信した詳細メッセージのバイト数はカウントされません
これにより、統計の一貫性が向上します。

-8、 --8ビット出力
これにより、rsync は代わりにすべてのハイビット文字をエスケープせずに出力に残すように指示されます。
それらが現在のロケールで有効かどうかをテストしてエスケープしようとする
無効なもの。 すべての制御文字 (タブは除く) は常にエスケープされます。
このオプションの設定に関係なく。

2.6.7 で開始されたエスケープ イディオムは、リテラル バックスラッシュ (\) と
ハッシュ (#) の後に、正確に 3 桁の XNUMX 進数が続きます。 たとえば、改行は出力します
「\#012」として。 ファイル名に含まれるリテラル バックスラッシュは、次の場合を除き、エスケープされません。
ハッシュと 3 桁の数字 (0 ~ 9) が続きます。

-NS、 -人間が読める形式
より人間が読める形式で数値を出力します。 可能なレベルは 3 つあります: (1)
3 桁の各セットの間に区切り記号を付けて数値を出力します (コンマまたは
ピリオド (小数点がピリオドまたはカンマのどちらで表されるかによって異なります);
(2) 数値を1000単位で出力する(より大きな単位には接尾辞を付ける -
下記参照); (3) 1024 単位で数値を出力します。

デフォルトは人間が読めるレベル 1 です。 -h オプションは、レベルを XNUMX つ上げます。
次のように指定することで、レベルを 0 に下げることができます (数字を純粋な数字として出力するため)。
  --人間が判読できない (- 能)オプション。

レベル 2 とレベル 3 で追加される単位文字は、K (キロ)、M (メガ)、G です。
(ギガ)、または T (テラ)。 たとえば、1234567 バイトのファイルは 1.23M として出力されます。
level-2 (ピリオドがローカル小数点であると仮定)。

下位互換性に関する注意: 3.1.0 より前のバージョンの rsync はサポートされていません
人間が読めるレベル 1 であり、デフォルトはレベル 0 です。したがって、XNUMX つまたは XNUMX つを指定します。
-h オプションは、古いバージョンと新しいバージョンで同じように動作します。
指定しなかった - 能 XNUMX つ以上の前のオプション -h オプション。 を参照してください
--リストのみ XNUMX つの違いのオプション。

- 部分的
デフォルトでは、転送が失敗した場合、rsync は部分的に転送されたファイルを削除します。
中断しました。 状況によっては、部分的に保持する方が望ましい
転送されたファイル。 を使用して - 部分的 オプションはrsyncに部分ファイルを保持するように指示します
これにより、その後のファイルの残りの転送がはるかに高速になります。

--partial-dir=DIR
部分ファイルを保持するよりも優れた方法 - 部分的 オプションは、 DIR
部分的なデータを保持するために使用されます (
宛先ファイル)。 次の転送では、rsync はこのディレクトリにあるファイルを使用します。
転送の再開を高速化し、転送後に削除するためのデータとして
その目的を果たしました。

もし --ファイル全体 指定されている (または暗示されている) 場合、
更新中のファイルで見つかったものは単純に削除されます (rsync が
rsync のデルタ転送アルゴリズムを使用せずにファイルを送信する)。

Rsync は、 DIR 欠落している場合 (最後のディレクトリのみ -- 全体ではありません)
道)。 これにより、相対パスを簡単に使用できます (
"--partial-dir=.rsync-partial") rsync にパーシャル ディレクトリを作成させる
必要に応じて宛先ファイルのディレクトリを削除し、部分的なファイルが削除されたら再度削除します
ファイルが削除されます。

partial-dir の値が絶対パスでない場合、rsync は次の場所に除外ルールを追加します。
既存のすべての除外の最後。 これにより、
送信側に存在する可能性のある部分ディレクトリ ファイル。
受信側での部分ディレクトリ項目の早すぎる削除。 例:
上記の. --部分ディレクトリ オプションは、"-f '-p .rsync-partial/'URLは
他のフィルタ ルールの最後。

独自の除外ルールを提供している場合は、独自のルールを追加する必要がある場合があります
(1) 自動追加されたルールが
他のルールの最後で効果がない、または (2) オーバーライドしたい場合がある
rsync の除外選択。 たとえば、rsync のクリーンアップを任意の
残りの部分ディレクトリが横たわっている可能性がある場合は、指定する必要があります -- 削除後
「リスク」フィルタ ルールを追加します。 -f 'R .rsync-partial/'。 (使用を避ける
--前に削除 or --削除中 rsync を使用する必要がない場合を除き、
現在の実行中に残った部分ディレクトリ データ)。

重要: --部分ディレクトリ 他のユーザーが書き込み可能であってはなりません。
セキュリティリスク。 例: AVOID "/ tmpに".

RSYNC_PARTIAL_DIR 環境変数の partial-dir 値を設定することもできます。
環境でこれを設定しても強制されません - 部分的 有効にしますが、むしろ
部分ファイルがいつどこに行くかに影響します - 部分的 が指定されています。 例えば、
使用する代わりに --partial-dir=.rsync-tmp と一緒に - 進捗、設定できます
環境で RSYNC_PARTIAL_DIR=.rsync-tmp を使用してから、 -P オプション
部分転送に .rsync-tmp dir の使用をオンにします。 その時だけ
  - 部分的 オプションは、この環境値を検索しません (1) の場合
- 所定の位置に が指定されました( - 所定の位置に と衝突する --部分ディレクトリ)、および(2)
を特定いたします。 --遅延更新 が指定されました(下記参照)。

daemon-config の「拒否オプション」設定の目的のために、 --部分ディレクトリ
ありません 暗示する - 部分的. これは、 - 部分的 オプションはすることができます
部分転送による宛先ファイルの上書きを禁止するために使用されます。
によって提供されるより安全なイディオムを許可しながら --部分ディレクトリ.

--遅延更新
このオプションは、更新された各ファイルの一時ファイルを保持ディレクトリに置きます。
転送が終了するまで、その時点ですべてのファイルの名前が変更されます
立て続けに。 これにより、ファイルの更新がもう少し行われます。
アトミック。 デフォルトでは、ファイルはそれぞれ「.~tmp~」という名前のディレクトリに配置されます。
ファイルの宛先ディレクトリですが、指定した場合 --部分ディレクトリ オプション、
そのディレクトリが代わりに使用されます。 のコメントを参照してください。 --部分ディレクトリ
この「.~tmp~」ディレクトリが転送から除外される方法についての議論、および
嘘かもしれない古い「.~tmp~」ディレクトリをrsyncにクリーンアップさせたい場合にできること
その周り。 競合する - 所定の位置に   -追加.

このオプションは、受信側でより多くのメモリを使用します (転送されるファイルごとに XNUMX ビット)。
また、受信側に十分な空きディスク容量が必要です。
更新されたすべてのファイルの追加コピー。 また、使用しないでください。
への絶対パス --部分ディレクトリ (1) ファイルのいずれかの可能性がない場合を除きます
同じ名前の転送 (更新されたすべてのファイルが
パスが絶対パスの場合は単一のディレクトリ)、(2) パスにマウント ポイントがありません。
階層 (名前を変更できない場合、遅延更新は失敗するため)
場所)。

更新については、「support」サブディレクトリにある「atomic-rsync」perl スクリプトも参照してください。
さらにアトミックなアルゴリズム (それは --リンク先 および並列階層
ファイル)。

-NS、 --prune-empty-dirs
このオプションは、受信側の rsync から空のディレクトリを取り除くように指示します。
非ディレクトリの子を持たないネストされたディレクトリを含むファイルリスト。 これ
のときに、役に立たないディレクトリがたくさん作成されるのを避けるのに役立ちます。
rsyncを送信すると、ファイルの階層が再帰的にスキャンされます
包含/除外/フィルター ルール。

などの転送ルールの使用に注意してください。 -最小サイズ オプション、影響なし
ファイルリストに何が入るか、したがって、ディレクトリが空のままになることはありません。
ディレクトリ内のどのファイルも転送ルールに一致しません。

ファイルリストは実際に剪定されているため、このオプションは何にも影響します
削除がアクティブな場合、ディレクトリは削除されます。 ただし、次の点に注意してください。
除外されたファイルとディレクトリは、既存のアイテムが削除されないようにすることができます。
ソース ファイルの非表示と宛先ファイルの保護の両方を除外します。 を参照してください
これを回避する方法については、腐りやすいフィルタールールオプションを参照してください。

ファイルリストから特定の空のディレクトリが削除されるのを防ぐには、次のようにします。
グローバルな「保護」フィルターを使用します。 たとえば、このオプションは、
ディレクトリ「emptydir」はファイルリストに保持されました:

--filter '空ディレクトリの保護/'

階層内のすべての .pdf ファイルをコピーする例を次に示します。
.pdf ファイルを保持するために必要な宛先ディレクトリ。
宛先の余分なファイルとディレクトリが削除されます (hide に注意してください)。
除外の代わりに使用されている非ディレクトリのフィルター):

rsync -avm --del --include='*.pdf' -f 'hide,! */' src/dest

余分な宛先ファイルを削除したくない場合は、より由緒ある
のオプション--include='*/' --exclude='*'" の代わりに問題なく動作します
hide-filter (それがあなたにとってより自然な場合)。

- 進捗
このオプションは、転送の進行状況を示す情報を出力するよう rsync に指示します。
これにより、退屈なユーザーに何かを見てもらうことができます。 最新の rsync では、これは同じです
指定するように --info=flist2,名前,進行状況、ただし、それらのユーザー指定の設定
info フラグが優先されます (例: "--info=flist0 --progress")。

rsync が通常のファイルを転送している間、進行状況を示す行を更新します。
このような:

782448 63% 110.64kB/秒 0:00:04

この例では、受信者は 782448 バイトまたは送信者の 63% を再構築しました。
毎秒 110.64 キロバイトの速度で再構築されているファイル、および
まで現在のレートが維持される場合、転送は 4 秒で終了します。
終わり。

rsync のデルタ転送アルゴリズムが使用されている場合、これらの統計は誤解を招く可能性があります。
たとえば、送信者のファイルが基本ファイルとそれに続く追加のファイルで構成されている場合
データ、受信機が到達すると、報告されたレートはおそらく劇的に低下します
リテラル データであり、転送が完了するまでに通常よりもはるかに長い時間がかかります。
受信者は、ファイルの一致した部分を終了していると推定しました。

ファイル転送が完了すると、rsync は進行状況の行を概要に置き換えます
次のような行:

1,238,099 100% 146.38kB/s 0:00:08 (xfr#5、to-chk=169/396)

この例では、ファイルの長さは合計で 1,238,099 バイトで、平均速度は
ファイル全体の転送は、146.38 秒間で毎秒 8 キロバイトでした。
完了するまでにかかった、現在の期間中の通常のファイルの 5 回目の転送でした。
rsync セッション、および受信者がチェックするファイルがさらに 169 個あります (
ファイルリストにある 396 個の合計ファイルのうち残っているものです。

増分再帰スキャンでは、rsync はファイルの総数を認識しません。
ファイルリストはスキャンの最後に到達するまで、ただし転送が開始されるため
ファイルのスキャン中に、「ir-chk」というテキストを含む行が表示されます (
インクリメンタル再帰チェック) を「to-chk」の代わりに、
リストのフル サイズ。この時点で、「to-chk」の使用に切り替わります。 したがって、
「ir-chk」を見ると、ファイルリスト内のファイルの総数が
まだ増加する予定です(増加するたびに、チェックするファイルの数が残っています
リストに追加されたファイルの数だけ増加します)。

-P 当学校区の -P オプションはと同等です - 部分的 - 進捗. その目的は、それを作ることです
これらの XNUMX つのオプションを指定する方がはるかに簡単です。
中断した。

もあります --info=進行状況2 全体に基づいて統計を出力するオプション
個々のファイルではなく、転送します。 を出力せずにこのフラグを使用します。
ファイル名 (例: 避ける -v または指定します --info=名前0 転送方法を知りたい場合
たくさんの名前で画面をスクロールせずにやっています。 (する必要はありません
その - 進捗 使用するためのオプション --info=進行状況2.)

--パスワードファイル=ファイル
このオプションを使用すると、rsync デーモンにアクセスするためのパスワードを提供できます。
ファイルまたは標準入力を介して FILE is -. ファイルにはパスワードのみが含まれている必要があります
最初の行 (他のすべての行は無視されます)。 次の場合、Rsync はエラーで終了します。
FILE 誰でも読み取り可能であるか、root が実行する rsync コマンドが非 root 所有のファイルを検出した場合。

このオプションは、ssh などのリモート シェル トランスポートにパスワードを提供しません。 に
その方法については、リモート シェルのドキュメントを参照してください。 アクセスするとき
トランスポートとしてリモート シェルを使用する rsync デーモンの場合、このオプションは
リモート シェルが認証を終了した後の効果 (つまり、
デーモンの構成ファイルでパスワードを指定します)。

--リストのみ
このオプションを使用すると、ソース ファイルが転送される代わりに一覧表示されます。 これ
オプションは、単一のソース引数があり、宛先が指定されていない場合に推論されるため、
その主な用途は次のとおりです: (1) コピー先引数を含むコピー コマンドを
ファイルリストコマンド、または(2)複数のソース引数を指定できるようにする
(注:必ず目的地を含めてください)。 注意: ソースに注意してください。
ワイルドカードを含む引数は、シェルによって複数の引数に展開されるため、決して
このオプションを使用せずにそのような引数をリストしようとしても安全です。 例えば:

rsync -av --list-only foo* dest/

rsync 3.1.0 から、出力されるサイズ --リストのみ の影響を受ける
-人間が読める形式 オプション。 デフォルトでは、桁区切りが含まれますが、より高い
読みやすさのレベルは、単位接尾辞付きのサイズを出力します。 また、
サイズ出力の列幅は、すべてで 11 文字から 14 文字に増加しました。
人間が読めるレベル。 使用する - 能 サイズに数字だけが必要な場合、および
11 文字の古い列幅。

互換性に関する注意: rsync からファイルのリモート リストを要求すると、
がバージョン 2.6.3 以前の場合、
非再帰的なリスト。 これは、ファイル リストが --ディレクトリ オプション
なし -再帰的、古い rsync にはそのオプションがありません。 この問題を回避するには、
を指定するか、 --no-dirs オプション (ディレクトリを展開する必要がない場合)
content)、または再帰をオンにしてサブディレクトリのコンテンツを除外します。 -r
--exclude='/*/*'.

--bwlimit=レート
このオプションを使用すると、送信されるデータの最大転送速度を指定できます
XNUMX 秒あたりの単位で指定されたソケット。 RATE 値には接尾辞を付けることができます。
サイズの乗数を示す文字列であり、小数値の場合もあります (例:
"--bwlimit=1.5m"。接尾辞が指定されていない場合、値は
1024 バイト単位 (「K」または「KiB」が追加されたかのように)。 を参照してください -最大サイズ
利用可能なすべてのサフィックスの説明のオプション。 ゼロの値は指定します
制限なし。

下位互換性の理由から、レート制限は最も近いものに丸められます
KiB 単位なので、1024 秒あたり XNUMX バイト未満の速度はありません。

Rsync はソケットを介してブロック単位でデータを書き込みます。このオプションは両方ともサイズを制限します。
rsync が書き込むブロックの
要求された制限。 rsyncがブロックを書き出す場所で、いくらかの「バースト性」が見られる場合があります
その後、スリープして平均レートを準拠させます。

データの内部バッファリングにより、 - 進捗 オプションは正確ではないかもしれません
データが送信される速さの反映。 これは、一部のファイルが表示される可能性があるためです。
データが迅速にバッファリングされたときに迅速に送信されたと見なされますが、他のデータが表示される可能性があります
出力バッファのフラッシュが発生すると非常に遅くなります。 これは、
将来のバージョン。

--write-batch=ファイル
後で別の同一の宛先に適用できるファイルを記録します
--読み取りバッチ. 詳細については、「BATCH MODE」セクションを参照してください。
--書き込みのみバッチ オプションを選択します。

--only-write-batch=ファイル
のように動作します --書き込みバッチ、ただし、宛先システムで更新が行われないことを除きます
バッチを作成するとき。 これにより、変更を宛先に転送できます
他の方法でシステムを変更し、次の方法で変更を適用します --読み取りバッチ.

ポータブル メディアにバッチを直接書き込むことができることに注意してください。
このメディアは、転送が終了する前に容量がいっぱいになり、申し込むことができます
宛先へのその部分的な転送を行い、プロセス全体を繰り返して、
残りの変更 (部分的に更新された宛先を気にしない限り)
マルチ更新サイクルが発生している間のシステム)。

また、変更をリモート システムにプッシュする場合にのみ、帯域幅を節約できることに注意してください。
これにより、バッチ化されたデータを送信者からバッチに転用できるためです。
ワイヤーを介してレシーバーに流れる必要はありません(引っ張るとき、センダー
リモートであるため、バッチを書き込むことができません)。

--read-batch=ファイル
によって以前に生成されたファイルである FILE に保存されているすべての変更を適用します
--書き込みバッチ。 場合 FILE is -、バッチデータは標準入力から読み込まれます。 見る
詳細は「BATCH MODE」セクションを参照してください。

--protocol=数値
古いプロトコル バージョンの使用を強制します。 これは、バッチの作成に役立ちます
古いバージョンの rsync と互換性のあるファイル。 たとえば、rsync の場合
2.6.4 は --書き込みバッチ オプションですが、rsync 2.6.3 が
を実行するために使用されます --読み取りバッチ オプション、作成時に「--protocol=28」を使用する必要があります
古いバージョンのプロトコルを強制的にバッチ ファイルで使用するためのバッチ ファイル
(読み取りシステムで rsync をアップグレードできないと仮定します)。

--iconv=CONVERT_SPEC
Rsync は、このオプションを使用して文字セット間でファイル名を変換できます。 を使って
"." の CONVERT_SPEC ロケールを介してデフォルトの文字セットを検索するようにrsyncに指示します
設定。 別の方法として、次のように指定することで、実行する変換を完全に指定できます。
順番にコンマで区切られたローカルとリモートの文字セット --iconv=ローカル、リモート,
例えば --iconv=utf8,iso88591. この順序により、オプションが同じままになります
ファイルをプッシュまたはプルしているかどうか。 最後に、次のいずれかを指定できます
--アイコンなし または、変換を無効にする "-" の CONVERT_SPEC。 デフォルト
このオプションの設定はサイト固有であり、
RSYNC_ICONV 環境変数。

ローカルの iconv ライブラリがサポートする文字セット名のリストについては、次を実行できます。
「iconv --list」。

指定した場合 --保護引数 オプション(-s)、rsyncはファイル名を変換します
リモートホストに送信されるコマンドラインで指定します。 こちらもご覧ください
  --files-from オプションを選択します。

rsync はフィルター ファイル内の名前の変換を行わないことに注意してください (
ファイルを含める/除外する)。 一致を指定していることを確認するのはあなた次第です
転送の両側で一致できるルール。 たとえば、次のように指定できます。
両側にファイル名の違いがある場合の追加の包含/除外ルール
説明する必要があります。

を渡すと、 --iconv それを許可するrsyncデーモンへのオプション、デーモンは使用します
「charset」構成パラメーターで指定された文字セット。
実際に渡すリモート文字セット。 したがって、あなたは自由に指定することができます
デーモン転送用のローカル文字セット (例: --iconv=utf8).

-4、 --ipv4 or -6、 --ipv6
ソケットを作成するときに IPv4/IPv6 を優先するように rsync に指示します。 これはソケットにのみ影響します
その rsync は、送信ソケットなどを直接制御します。
rsync デーモンに接続します。 のこれらのオプションも参照してください。 - デーモン モードセクション。

rsync が IPv6 のサポートなしで準拠された場合、 --ipv6 オプションはありません
効果。 ザ・ - バージョン これが当てはまるかどうかは、出力でわかります。

--チェックサムシード=NUM
チェックサム シードを整数 NUM に設定します。 この 4 バイトのチェックサム シードは、
各ブロックと MD4 ファイル チェックサムの計算 (最新の MD5 ファイル チェックサム
種は使いません)。 デフォルトでは、チェックサム シードはサーバーによって生成され、
デフォルトは現在の time() です。 このオプションは、特定のチェックサムを設定するために使用されます
反復可能なブロック チェックサムを必要とするアプリケーションに役立ちます。
ユーザーがよりランダムなチェックサム シードを必要とする場合。 NUM を 0 に設定すると、
チェックサム シードに time() のデフォルトを使用するには、rsync を使用します。

デーモン OPTIONS


rsync デーモンを開始するときに使用できるオプションは次のとおりです。

- デーモン
これにより、rsync がデーモンとして実行されることが通知されます。 実行を開始したデーモンは、
を使用してrsyncクライアントを使用してアクセスできます ホスト::モジュール or rsync://ホスト/モジュール/
構文。

標準入力がソケットの場合、rsync はそれが経由で実行されていると想定します。
そうしないと、現在の端末から切り離されてバックグラウンドになります
デーモン。 デーモンは、接続が確立されるたびに構成ファイル (rsyncd.conf) を読み取ります。
要求に応じて応答します。 を参照してください rsyncd.conf(5) のマニュアルページ
詳細はこちら

- 住所
デフォルトでは、rsync はデーモンとして実行されると、ワイルドカード アドレスにバインドされます。
- デーモン オプション。 ザ· - 住所 オプションを使用すると、特定の IP アドレスを指定できます
(またはホスト名) にバインドします。 これにより、仮想ホスティングが可能になります
  --config オプション。 rsyncd.conf の「address」グローバル オプションも参照してください。
マンページ。

--bwlimit=レート
このオプションを使用すると、デーモンのデータの最大転送速度を指定できます。
ソケットを介して送信します。 クライアントはさらに小さい値を指定できます --bwlimit 価値がありますが、
それ以上の値は許可されません。 このオプションのクライアント バージョン (上記) を参照してください。
いくつかの追加の詳細。

--config = FILE
これは、デフォルト以外の構成ファイルを指定します。 これは関連性があるだけです
を特定いたします。 - デーモン が指定されています。 デフォルトは /etc/rsyncd.conf デーモンでない限り
リモートシェルプログラムで実行されており、リモートユーザーがスーパーユーザーではありません。 の
その場合、デフォルトは現在のディレクトリ (通常は $HOME) の rsyncd.conf です。

-NS、 --dparam=オーバーライド
このオプションは、rsync を起動するときに daemon-config パラメータを設定するために使用できます。
デーモンモード。 グローバルの最後にパラメータを追加するのと同じです
最初のモジュールの定義より前の設定。 パラメータ名は次のとおりです。
必要に応じてスペースなしで指定します。 例えば:

rsync --daemon -M pidfile=/パス/rsync.pid

--デタッチなし
デーモンとして実行している場合、このオプションは rsync にそれ自体をデタッチしないように指示し、
バックグラウンドプロセスになります。 でサービスとして実行する場合、このオプションは必須です。
Cygwin などのプログラムによって rsync が管理されている場合にも役立ちます。
デーモンツール またはAIXの システム 事業紹介 コントローラー. --デタッチなし もお勧めです
rsync がデバッガーで実行されたとき。 rsync が実行されている場合、このオプションは効果がありません。
inetd または sshd。

--port = PORT
これは、デーモンがリッスンする代わりの TCP ポート番号を指定します。
デフォルトは 873 です。rsyncd.conf マンページの「port」グローバル オプションも参照してください。

--log-file = FILE
このオプションは、rsync デーモンに、指定されたログ ファイル名を使用する代わりに使用するように指示します。
構成ファイルの「ログ ファイル」設定。

--log-file-format=フォーマット
このオプションは、rsync デーモンに、指定された FORMAT 文字列を使用する代わりに使用するように指示します。
構成ファイルの「ログ形式」設定。 また、「転送ログ」も有効にします
ただし、文字列が空の場合は転送ログがオフになります。

--sockopts
これは、 ソケット オプション rsyncd.conf ファイルの設定と同じ
構文。

-v、 -詳細
このオプションは、起動時にデーモンがログに記録する情報の量を増やします
段階。 クライアントが接続した後、デーモンの詳細レベルが制御されます
クライアントが使用したオプションと、モジュールの「最大冗長性」設定によって
設定セクション。

-4、 --ipv4 or -6、 --ipv6
rsync が受信するソケットを作成するときに IPv4/IPv6 を優先するように rsync に指示します。
デーモンは、接続をリッスンするために使用します。 これらのオプションの XNUMX つが必要になる場合があります。
古いバージョンの Linux は、カーネルの IPv6 バグを回避します (
他にポートを使用していないときに「アドレスが既に使用されています」というエラーが表示される場合は、指定してみてください
--ipv6 or --ipv4 デーモンの起動時)。

rsync が IPv6 のサポートなしで準拠された場合、 --ipv6 オプションはありません
効果。 ザ・ - バージョン これが当てはまるかどうかは、出力でわかります。

-NS、 - 助けて
後に指定する場合 - デーモン、オプションを説明する短いヘルプ ページを印刷します。
rsync デーモンの起動に使用できます。

フィルタ RULES


フィルター ルールにより、転送する (含める) ファイルを柔軟に選択できます。
スキップする (除外する) ファイル。 ルールは、包含/除外パターンを直接指定します
または、より多くの包含/除外パターンを取得する方法を指定します (たとえば、
ファイル)。

転送するファイル/ディレクトリのリストが作成されると、rsync は各名前が転送されるかどうかをチェックします。
包含/除外パターンのリストに対して順番に転送され、最初に一致した
パターンの処理: 除外パターンの場合、そのファイルはスキップされます。 それが
パターンを含めると、そのファイル名はスキップされません。 一致するパターンが見つからない場合、
ファイル名はスキップされません。

Rsync は、コマンドラインで指定されたフィルター ルールの順序付きリストを作成します。 フィルター
ルールの構文は次のとおりです。

ルール [PATTERN_OR_FILENAME]
ルール、修飾子 [PATTERN_OR_FILENAME]

以下で説明するように、短いまたは長い RULE 名を使用することを選択できます。 もし、あんたが
短い名前のルールを使用します。RULE と MODIFIERS を区切る「,」はオプションです。 の
後に続く PATTERN または FILENAME (存在する場合) は、単一のスペースまたは
アンダースコア (_)。 利用可能なルールのプレフィックスは次のとおりです。

除外し、 - 除外パターンを指定します。
含む、 + インクルード パターンを指定します。
マージ、 . 追加のルールを読み取るマージ ファイルを指定します。
dir-merge、 : ディレクトリごとのマージ ファイルを指定します。
隠す、 H 転送からファイルを隠すためのパターンを指定します。
ショー、 S パターンに一致するファイルは非表示になりません。
守る、 P ファイルを削除から保護するためのパターンを指定します。
リスク、 R パターンに一致するファイルは保護されません。
クリア、 ! 現在の包含/除外リストをクリアします (引数を取らない)

ルールがファイルから読み取られるとき、空行は無視され、コメント行も無視されます。
「#」で始めます。

なお、 - 含む/-除外する コマンドライン オプションは、ルールの全範囲を許可しません
上記の解析 -- 含める/除外する指定のみを許可します
パターンと「!」 リストをクリアするためのトークン (およびルールが存在する場合の通常のコメント解析)
ファイルから読み取る)。 パターンが "-" (ダッシュ、スペース) または "+" (プラス、
スペース)、ルールは "+ " (インクルード オプションの場合) または "- " (インクルード オプションの場合) として解釈されます。
除外オプション) が文字列の前に付けられました。 あ - フィルター 一方、オプションは、
ルールの先頭には、短いルール名または長いルール名を常に含める必要があります。

また、 - フィルター, - 含む, -除外する オプションは、それぞれ XNUMX つのルール/パターンを取ります。
複数のものを追加するには、コマンドラインでオプションを繰り返し、merge-file を使用します
の構文 - フィルター オプション、または --include-from/-除外-から オプション。

含める/除外する パターン RULES


「+」、「-」などのフィルターを使用してパターンを指定することで、ファイルを含めたり除外したりできます。
ルール (上記の FILTER RULES セクションで紹介されているように)。 それぞれの包含/除外ルール
作成されるファイルの名前に対して一致するパターンを指定します
転送されました。 これらのパターンにはいくつかの形式があります。

o パターンが / で始まる場合、パターンは特定の場所に固定されます。
それ以外の場合は、パス名の末尾と照合されます。 これ
正規表現の先頭の ^ に似ています。 したがって、「/foo」は名前に一致します
「転送のルート」(グローバル ルールの場合) または
マージ ファイルのディレクトリ (ディレクトリごとのルールの場合)。 修飾されていない「foo」は
アルゴリズムが適用されるため、ツリー内の任意の場所の「foo」の名前に一致します
上から下に再帰的に; 各パス コンポーネントが次の場所でターンを取得するかのように動作します。
ファイル名の末尾です。 固定されていない「sub/foo」でさえ、いつでも一致します
「sub」という名前のディレクトリ内で「foo」が見つかった階層内のポイント。 見る
ANCHORING INCLUDE/EXCLUDE PATTERNS のセクションで、
転送のルートで一致するパターンを指定します。

o パターンが / で終わる場合、通常のディレクトリではなく、ディレクトリにのみ一致します。
ファイル、シンボリック リンク、またはデバイス。

o rsync は、単純な文字列一致とワイルドカード一致のいずれかをチェックして選択します
パターンに XNUMX つのワイルドカード文字 '*'、'?'、および '[' のいずれかが含まれている場合。

oa '*' は任意のパス コンポーネントに一致しますが、スラッシュで終わります。

o '**' を使用して、スラッシュを含むあらゆるものに一致させます。

ああ '?' スラッシュ (/) を除く任意の文字に一致します。

oa '[' は、[az] や [[:alpha:]] などの文字クラスを導入します。

o ワイルドカード パターンでは、バックスラッシュを使用してワイルドカード文字をエスケープできますが、
ワイルドカードが存在しない場合、文字どおりに一致します。 これは、
パターンにワイルドカード文字が含まれている場合の追加レベルのバックスラッシュ除去
ないパターンと比較して。 たとえば、「foo\bar」にワイルドカードを追加した場合
(これはバックスラッシュに一致します) 「\b」を避けるために「foo\\bar*」を使用する必要があります。
ただの「b」になります。

o パターンに / (末尾の / は数えない) または "**" が含まれている場合、
先頭のディレクトリを含むフル パス名と照合されます。 もし
パターンに / または "**" が含まれていない場合、最終的なパターンに対してのみ照合されます
ファイル名のコンポーネント。 (アルゴリズムが再帰的に適用されることを思い出してください。
「完全なファイル名」は、実際には開始ディレクトリからのパスの任意の部分にすることができます
オンダウン。)

oa 末尾の "dir_name/***" は両方のディレクトリに一致します (あたかも "dir_name/" が
指定された) およびディレクトリ内のすべて (あたかも "dir_name/**" が
指定)。 この動作はバージョン 2.6.7 で追加されました。

を使用する場合は、 -再帰的 (-r) オプション (これは、 -a)、 毎日
すべてのパスのサブコンポーネントは上から順にアクセスされるため、包含/除外パターンが取得されます
各サブコンポーネントの完全な名前に再帰的に適用されます (たとえば、「/foo/bar/baz」を含めるため)
サブコンポーネント「/foo」および「/foo/bar」は除外しないでください)。 実際の除外パターン
rsync が送信するファイルを見つけたときに、ディレクトリ トラバーサル ステージを短絡します。 もし
パターンは特定の親ディレクトリを除外し、より深いインクルード パターンをレンダリングできます
rsync が階層のその除外されたセクションを下降しなかったため、効果がありません。
これは、末尾の「*」ルールを使用する場合に特に重要です。 たとえば、これは
仕事:

+ /some/path/このファイルは見つかりません
+ /ファイルが含まれています
- *

親ディレクトリ「some」が「*」ルールによって除外されているため、これは失敗します。
「some」または「some/path」ディレクトリ内の任意のファイルにアクセスします。 XNUMXつの解決策は、尋ねることです
単一のルールを使用して階層内のすべてのディレクトリを含めるには、「+ */」(
"- *" ルールの前のどこか)、おそらく --prune-empty-dirs オプション。 別
解決策は、アクセスする必要があるすべての親ディレクトリに特定のインクルード ルールを追加することです。
たとえば、次の一連のルールは正常に機能します。

+ /いくらか/
+ /いくつか/パス/
+ /some/path/このファイルが見つかりました
+ /ファイルも含まれています
- *

除外/包含一致の例を次に示します。

o "- *.o" は、*.o に一致するすべての名前を除外します

o 「- /foo」は、転送ルートにある foo という名前のファイル (またはディレクトリ) を除外します。
ディレクトリにジョブを開始します。

o "- foo/" は foo という名前のディレクトリを除外します

o "- /foo/*/bar" は、a の XNUMX レベル下にある bar という名前のファイルを除外します。
transfer-root ディレクトリの foo という名前のディレクトリ

o "- /foo/**/bar" は、XNUMX レベル以上下の bar という名前のファイルを除外します。
transfer-root ディレクトリの foo という名前のディレクトリ

o 「+ */」、「+ *.c」、および「- *」の組み合わせには、すべてのディレクトリと C が含まれます。
ソース ファイルのみです ( --prune-empty-dirs オプション)

o 「+ foo/」、「+ foo/bar.c」、および「- *」の組み合わせには、foo のみが含まれます。
ディレクトリおよび foo/bar.c (foo ディレクトリは明示的に含める必要があります。
「*」で除外されます)

次の修飾子は、「+」または「-」の後に受け入れられます。

/ 包含/除外ルールを絶対ルールと照合する必要があることを指定します
現在のアイテムのパス名。 例えば、 "-/ /etc/passwd" を除外します。
passwd ファイルは、転送が "の/ etc" ディレクトリ、および
「-/ subdir/foo」は、「foo」が「subdir」という名前のディレクトリにある場合、常に除外されます。
「foo」が現在の転送のルートにある場合。

! パターンが失敗した場合に包含/除外が有効になるように指定します
マッチ。 たとえば、「-! */」はすべての非ディレクトリを除外します。

C すべてのグローバル CVS 除外規則を次のように挿入する必要があることを示すために使用されます。
「-C」の代わりに除外します。 引き数は続きません。

o アン s ルールが送信側に適用されることを示すために使用されます。 ルールのとき
送信側に影響を与え、ファイルが転送されなくなります。 デフォルトは
ルールが両側に影響しない限り --削除-除外 が指定されました。
case デフォルト ルールは送信者側のみになります。 hide (H) と show (S) も参照してください。
これは、送信側の包含/除外を指定する別の方法です。

o アン r ルールが受信側に適用されることを示すために使用されます。 ルールのとき
受信側に影響を与え、ファイルが削除されないようにします。 を参照してください s
詳細については修飾子をご覧ください。 プロテクト (P) およびリスク (R) ルールも参照してください。
レシーバー側の包含/除外を指定する別の方法。

p ルールが腐りやすいことを示します。つまり、ディレクトリでは無視されます。
削除されていること。 たとえば、 -C 除外するオプションのデフォルト ルール
「CVS」や「*.o」などは腐りやすいものとしてマークされており、
ソースで削除されたディレクトリが宛先で削除されないようにします。

マージファイル フィルタ RULES


マージ (.) または
dir-merge (:) フィルター ルール (上記のフィルター ルール セクションで紹介されている)。

マージされたファイルには、単一インスタンス ('.') とディレクトリごと (':') の XNUMX 種類があります。 あ
単一インスタンス マージ ファイルが XNUMX 回読み込まれ、そのルールが
「。」の代わりにフィルターリスト。 ルール。 ディレクトリごとのマージ ファイルの場合、rsync はスキャンします
指定されたファイルを取得するためにトラバースするすべてのディレクトリ。
継承されたルールの現在のリストに存在します。 これらのディレクトリごとのルール ファイルは、
スキャンされるのは送信側であるため、送信側で作成されます。
転送可能なファイル。 これらのルール ファイルは、
削除されないファイルに影響を与えたい場合は、受信側 (PER-DIRECTORY を参照)
以下のルールと削除)。

いくつかの例:

マージ /etc/rsync/default.rules
。 /etc/rsync/default.rules
dir-merge .per-dir-filter
dir-merge,n-.non-inherited-per-dir-excludes
:n- .non-inherited-per-dir-excludes

次の修飾子は、マージまたは dir-merge ルールの後に受け入れられます。

- ファイルが除外パターンのみで構成され、他のパターンは含まれないことを指定します
ファイル内コメントを除くルール解析。

+ ファイルがインクルード パターンのみで構成され、他のパターンは含まれないことを指定します。
ファイル内コメントを除くルール解析。

C CVS 互換の方法でファイルを読み取るように指定する方法です。
これにより、「n」、「w」、および「-」がオンになりますが、リストクリアトークン (!) も
指定。 ファイル名が指定されていない場合、「.cvsignore」が想定されます。

e マージファイル名を転送から除外します。 例: "dir-merge,e .rules"
「dir-merge .rules」と「- .rules」のようなものです。

o アン n ルールがサブディレクトリに継承されないように指定します。

w ルールが通常の代わりに空白で単語分割されることを指定します
行分割。 これにより、コメントもオフになります。 注: を区切るスペース
ルールのプレフィックスは特別に扱われるため、「- foo + bar」は XNUMX つのルールとして解析されます
(プレフィックス解析も無効になっていないと仮定します)。

o また、「+」または「-」ルール (上記) の任意の修飾子を順番に指定することもできます
ファイルから読み込まれたルールをデフォルトでその修飾子を持つようにする
セット(除く ! 役に立たない修飾子)。 例えば、
「merge,-/ .excl」は、.excl の内容を絶対パスの除外として扱いますが、
「dir-merge,s .filt」と「:sC」はそれぞれ、ディレクトリごとのすべてのルールを適用します
送信側のみ。 マージ ルールが影響する側を指定している場合 ( s
or r 修飾子またはその両方)、ファイル内の規則は側面を指定してはなりません (
修飾子または次のようなルール接頭辞 隠す).

ディレクトリごとのルールは、ディレクトリのすべてのサブディレクトリに継承されます。
「n」修飾子が使用されていない限り、merge-file が見つかりました。 各サブディレクトリのルールは
親から継承されたディレクトリごとのルールにプレフィックスが付けられ、最新のものを提供します
ルールは、継承されたルールよりも優先度が高くなります。 dir-merge ルールのセット全体は次のとおりです。
マージファイルが指定された場所にグループ化されるため、
グローバルのリストで以前に指定されたルールを使用して、dir-merge ルールを上書きします
ルール。 リストクリアルール ("!") がディレクトリごとのファイルから読み取られる場合、
現在のマージ ファイルの継承されたルールをクリアします。

dir-merge ファイルから単一のルールが継承されないようにする別の方法は、
先頭のスラッシュで固定します。 ディレクトリごとのマージ ファイルのアンカー規則は相対的です
したがって、パターン「/foo」は、ファイル「foo」にのみ一致します。
dir-merge フィルタ ファイルが見つかったディレクトリ。

で指定するフィルターファイルの例を次に示します --filter=". ファイル":

マージ /home/user/.global-filter
- *.gz
dir-merge .rules
+ *.[ch]
- *.o

これにより、/home/user/.global-filter ファイルの内容が、
また、「.rules」ファイル名をディレクトリごとのフィルタ ファイルに変換します。 すべてのルール
ディレクトリ スキャンの開始前に読み込まれます。 グローバル アンカリング ルールに従います (つまり、
先頭のスラッシュは転送のルートで一致します)。

ディレクトリごとのマージ ファイルが、その親ディレクトリであるパスで指定されている場合、
最初の転送ディレクトリ、rsync はその開始点からすべての親ディレクトリをスキャンします。
指定されたディレクトリごとのファイルの転送ディレクトリ。 たとえば、ここに
共通フィルター (を参照) -F):

--filter=': /.rsync-filter'

そのルールは、ルートからすべてのディレクトリでファイル .rsync-filter をスキャンするように rsync に指示します
通常の開始前に転送の親ディレクトリを下に移動する
転送の一部として送信されるディレクトリ内のファイルのディレクトリ スキャン。
(注: rsync デーモンの場合、ルートは常にモジュールの「パス」と同じです。)

ディレクトリごとのファイルに対するこの事前スキャンの例:

rsync -avF /src/path/ /dest/dir
rsync -av --filter=': ../../.rsync-filter' /src/path/ /dest/dir
rsync -av --filter=': .rsync-filter' /src/path/ /dest/dir

上記の最初の XNUMX つのコマンドは、「/」および「/src」で「.rsync-filter」を探します。
通常のスキャンは、「/src/path」とそのサブディレクトリでファイルの検索を開始します。 最後
コマンドは、親ディレクトリのスキャンを回避し、それぞれの「.rsync-filter」ファイルのみを検索します
転送の一部であるディレクトリ。

「.cvsignore」の内容をパターンに含めたい場合は、
ルール ":C"、.cvsignore ファイルのディレクトリ マージを作成しますが、
CVS 互換の方法。 これを使用して、 --cvs-exclude (-C) オプションの
ディレクトリごとの .cvsignore ファイルを含めることは、
":C" は、フィルター ルールの好きな場所に付けてください。 これがないと、rsync は dir-merge を追加します
他のすべてのルールの最後にある .cvsignore ファイルのルール (より低い値を与える)
コマンドライン規則よりも優先されます)。 例えば:

猫 <
+ foo.o
:C
- *。年
EOT
rsync -avC --include=foo.o -f :C --exclude='*.old' a/ b

上記の rsync コマンドはどちらも同じです。 それぞれがディレクトリごとのすべてをマージします
.cvsignore ルールは、リストの最後ではなく途中にあります。 これにより、
従属的ではなく、:C に従う規則に取って代わる dir 固有の規則
すべてのルールに。 他の CVS 除外規則 (つまり、
除外、$HOME/.cvsignore の内容、および $CVSIGNORE の値) を省略する必要があります。
  -C コマンドライン オプションを使用して、代わりに「-C」ルールをフィルター ルールに挿入します。 例えば
"--filter=-C".

リストクリア フィルタ ルール


「!」を使用して、現在の包含/除外リストをクリアできます。 フィルター規則 (導入済み)
上記の FILTER RULES セクションで)。 「現在の」リストは、ルールのグローバル リストのいずれかです。
(フィルター オプションの解析中にルールが検出された場合) またはディレクトリごとのセット
ルール (独自のサブリストに継承されるため、サブディレクトリはこれを使用してクリアできます
親のルールから)。

アンカー 含める/除外する パターン


前述のように、グローバルな包含/除外パターンは「のルート」に固定されています。
transfer" (マージ ファイルの場所に固定されているディレクトリごとのパターンとは対照的に
ディレクトリ)。 転送を送信元の名前のサブツリーと考えると、
送信者から受信者へ、転送ルートは、ツリーが複製され始める場所です。
宛先ディレクトリ。 このルートは、/ で始まるパターンが一致する場所を管理します。

マッチングは transfer-root に関連しているため、末尾のスラッシュを
ソース パスまたは使用方法の変更 - 相対的 オプションは、使用する必要があるパスに影響します
マッチングで(ファイルツリーのどのくらいが複製されるかを変更することに加えて
宛先ホスト)。 次の例は、これを示しています。

XNUMX つのソース ファイルを一致させたいとしましょう。
「/home/me/foo/bar」、および「/home/you/bar/baz」のパスを持つもの。 各種方法はこちら
2 ソース転送の場合、コマンドの選択は異なります。

コマンド例: rsync -a /home/me /home/you /dest
+/- パターン: /me/foo/bar
+/- パターン: /you/bar/baz
対象ファイル: /dest/me/foo/bar
対象ファイル: /dest/you/bar/baz

コマンドの例: rsync -a /home/me/ /home/you/ /dest
+/- パターン: /foo/bar ("me" がないことに注意してください)
+/- パターン: /bar/baz (「あなた」がないことに注意してください)
対象ファイル: /dest/foo/bar
対象ファイル: /dest/bar/baz

コマンド例: rsync -a --relative /home/me/ /home/you /dest
+/- パターン: /home/me/foo/bar (フルパスに注意)
+/- パターン: /home/you/bar/baz (同上)
対象ファイル: /dest/home/me/foo/bar
対象ファイル: /dest/home/you/bar/baz

コマンド例:cd /ホーム; rsync -a --relative me/foo you/ /dest
+/- パターン: /me/foo/bar (指定されたパスから開始)
+/- パターン: /you/bar/baz (同上)
対象ファイル: /dest/me/foo/bar
対象ファイル: /dest/you/bar/baz

フィルタリングする必要がある名前を確認する最も簡単な方法は、次の場合の出力を確認することです。
-詳細 名前の前に / を付けます ( -ドライラン そうでない場合のオプション
まだファイルをコピーする準備ができています)。

ディレクトリごと RULES そして DELETE


削除オプションがない場合、ディレクトリごとのルールは送信側にのみ関連するため、
転送に影響を与えることなく、マージ ファイル自体を自由に除外できます。 に
これを簡単にするには、「e」修飾子がこの除外を追加します。
同等のコマンド:

rsync -av --filter=': .excl' --exclude=.excl ホスト:src/dir /dest
rsync -av --filter=':e .excl' ホスト:src/dir /dest

ただし、受信側で削除を行い、いくつかのファイルを削除したい場合
削除されないようにするには、受信側が何を知っているかを確認する必要があります
除外するファイル。 最も簡単な方法は、ディレクトリごとのマージ ファイルを
譲渡して使用する -- 削除後、これにより、受信側がすべての
何かを削除しようとする前に、送信側と同じ除外ルール:

rsync -avF --delete-after ホスト:src/dir /dest

ただし、マージ ファイルが転送の一部でない場合は、次のいずれかを指定する必要があります。
いくつかのグローバル除外ルール (つまり、コマンド ラインで指定)、または維持する必要があります。
受信側で独自のディレクトリごとのマージ ファイル。 最初の例はこれです
(リモートの .rules ファイルが自分自身を除外すると仮定します):

rsync -av --filter=': .rules' --filter='. /my/extra.rules'
--delete ホスト:src/dir /dest

上記の例では、extra.rules ファイルは転送の両側に影響を与える可能性がありますが、(
送信側) ルールは、.rules ファイルからマージされたルールに従属します。
これは、ディレクトリごとのマージ ルールの後に指定されたためです。

最後の例では、リモート側が .rsync-filter ファイルをサーバーから除外しています。
転送しますが、独自の .rsync-filter ファイルを使用して、何を削除するかを制御したいと考えています
受け取る側。 これを行うには、ディレクトリごとのマージ ファイルを明確に除外する必要があります。
(削除されないように)次に、ローカルファイルにルールを入れて、何を制御するかを制御します
それ以外の場合は削除しないでください。 次のコマンドのいずれかのように:

rsync -av --filter=':e /.rsync-filter' --delete \
ホスト:src/dir/dest
rsync -avFF --delete ホスト:src/dir /dest

BATCH モード


バッチ モードを使用して、同じ一連の更新を多数の同一システムに適用できます。 仮定する
XNUMX つには、複数のホストに複製されるツリーがあります。 ここで、いくつかの変更があったとします
このソース ツリーに変更が加えられており、それらの変更を他のホストに伝達する必要があります。
バッチ モードを使用してこれを行うには、write-batch オプションを適用して rsync を実行します。
ソース ツリーに加えられた変更を宛先ツリーの XNUMX つに反映します。 書き込みバッチ
オプションを指定すると、rsync クライアントは必要なすべての情報を「バッチ ファイル」に保存します。
他の同一の宛先ツリーに対してこの操作を繰り返します。

バッチ ファイルを一度生成すると、ファイル ステータス、チェックサム、およびデータを実行する必要がなくなります。
複数の宛先ツリーを更新する場合、ブロック生成が複数回発生します。 マルチキャスト
トランスポート プロトコルを使用して、バッチ更新ファイルを多数のサーバーに並行して転送できます。
すべてのホストに個別に同じデータを送信するのではなく、ホストを一度に送信します。

記録された変更を別の宛先ツリーに適用するには、rsync を read-batch で実行します
オプションで、同じバッチ ファイルの名前と宛先ツリーを指定します。 再同期
バッチ ファイルに保存されている情報を使用して宛先ツリーを更新します。

write-batch オプションを使用すると、便宜上、スクリプト ファイルも作成されます。
「.sh」が追加されたバッチファイルと同じ名前になります。 このスクリプトファイル
関連するを使用して宛先ツリーを更新するのに適したコマンドラインが含まれています
バッチファイル。 Bourne (または Bourne に似た) シェルを使用して実行でき、オプションで
元の代わりに使用される別の宛先ツリーのパス名
宛先パス。 これは、現在のホストの宛先ツリー パスが
バッチファイルの作成に使用したものとは異なります。

例:

$ rsync --write-batch=foo -a host:/source/dir/ /adest/dir/
$ scp foo* リモート:
$ ssh リモート ./foo.sh /bdest/dir/

$ rsync --write-batch=foo -a /source/dir/ /adest/dir/
$ ssh リモート rsync --read-batch=- -a /bdest/dir/

これらの例では、rsync を使用して /source/dir/ から /adest/dir/ を更新し、
この操作を繰り返すための情報は「foo」と「foo.sh」に格納されています。 ホスト「リモート」
次に、ディレクトリ /bdest/dir に入るバッチ データで更新されます。 の
XNUMX つの例の違いは、
バッチを扱う:

o 最初の例は、最初のコピーがローカルである必要がないことを示しています。
リモートシェル構文または
必要に応じて、rsync デーモンの構文。

o 最初の例では、作成された「foo.sh」ファイルを使用して、適切な rsync オプションを取得します
リモートホストで read-batch コマンドを実行するとき。

o XNUMX 番目の例では、標準入力を介してバッチ データを読み取り、バッチ ファイルが
最初にリモート マシンにコピーする必要はありません。 この例では、
変更したものを使用する必要があるため、foo.sh スクリプト --読み取りバッチ オプションですが、あなたは
スクリプト ファイルを使用したい場合は、スクリプト ファイルを編集できます (
他のオプションは、"--除外対象=-"
オプション)。

警告:

read-batch オプションは、更新する宛先ツリーが同一であると想定します。
バッチ更新ファイルセットの作成に使用された宛先ツリー。 違いがあるとき
宛先ツリー間で更新が検出され、警告が表示されて破棄される可能性があります
(ファイルがすでに最新のように見える場合)またはファイルの更新が試行され、
次に、ファイルの検証に失敗した場合、更新はエラーで破棄されます。 これはつまり、
コマンドが中断された場合、読み取りバッチ操作を再実行しても安全なはずです。 もし、あんたが
ファイルのサイズに関係なく、バッチ更新を常に試行するように強制したい
日付、 -I オプション (バッチを読み取る場合)。 エラーが発生した場合の宛先
ツリーはおそらく部分的に更新された状態になります。 その場合、rsync を使用できます。
宛先ツリーを修正するための通常の (非バッチ) モードの操作。

すべての宛先で使用される rsync のバージョンは、少なくとも以前のバージョンと同じくらい新しいものでなければなりません
バッチ ファイルを生成します。 Rsync は、プロトコル バージョンが
バッチ ファイルは、バッチ読み取り rsync が処理するには新しすぎます。 も参照してください。 - プロトコル
作成中の rsync で古い rsync が実行できるバッチ ファイルを生成する方法のオプション
理解する。 (バージョン 2.6.3 でバッチ ファイルの形式が変更されたため、バージョンが混在していることに注意してください。
それより新しいバージョンでは動作しません。)

バッチ ファイルを読み取るとき、rsync は特定のオプションの値を強制的にデータと一致させます。
バッチ書き込みコマンドと同じに設定しなかった場合は、バッチ ファイルで。 他の
オプションは変更できます (変更する必要があります)。 例えば --書き込みバッチ への変更 --読み取りバッチ,
--files-from ドロップされ、 - フィルター/- 含む/-除外する オプションは必要ありません
次のいずれかでない限り、 - 消去 オプションが指定されています。

BATCH.sh ファイルを作成するコードは、フィルター/包含/除外オプションを次のように変換します。
シェル スクリプト ファイルに「here」ドキュメントとして追加される単一のリスト。 高度な
ユーザーは、これを使用して除外リストを変更できます。 - 消去
が望まれます。 通常のユーザーは、この詳細を無視して、簡単な方法としてシェル スクリプトを使用できます。
適切な実行方法 --読み取りバッチ バッチ データのコマンド。

rsync の元のバッチ モードは「rsync+」に基づいていましたが、最新バージョンでは新しい
インプリメンテーション。

シンボリック LINKS


rsync がソースでシンボリック リンクに遭遇した場合、XNUMX つの基本的な動作が可能です。
ディレクトリにあります。

デフォルトでは、シンボリック リンクはまったく転送されません。 「非定期飛ばし」メッセージ
ファイルは、存在するすべてのシンボリック リンクに対して発行されます。

If -リンク が指定されている場合、シンボリックリンクは同じターゲットで再作成されます
行き先。 ご了承ください - 記録 含意する -リンク.

If --コピーリンク が指定されている場合、シンボリックリンクは参照対象をコピーすることによって「折りたたまれ」ます。
シンボリックリンクではなく。

Rsync は、「安全な」シンボリック リンクと「安全でない」シンボリック リンクを区別することもできます。 これが
使用される可能性があるのは、rsync モジュールが
へのシンボリック リンクは含まれません。 /etc/passwd サイトの公開セクションにあります。
使い方 --copy-unsafe-links リンクが指すファイルとしてコピーされます
目的地。 使用する --安全なリンク 安全でないリンクが完全に省略されます。
(指定する必要があることに注意してください -リンク--安全なリンク 何らかの効果があります。)

シンボリック リンクが絶対シンボリック リンクである場合、シンボリック リンクは安全でないと見なされます ( /)、 空の、
または、コピーされているディレクトリから昇るのに十分な「..」コンポーネントが含まれている場合。

symlink オプションがどのように解釈されるかの概要を以下に示します。 リストは次の順です
したがって、オプションの組み合わせが言及されていない場合は、最初の行を使用してください
オプションの完全なサブセット:

--コピーリンク
すべてのシンボリック リンクを通常のファイルに変換します (その他のオプションのシンボリック リンクは残しません)。
影響)。

-リンク --copy-unsafe-links
すべての安全でないシンボリック リンクをファイルに変換し、すべての安全なシンボリック リンクを複製します。

--copy-unsafe-links
すべての安全でないシンボリック リンクをファイルに変換し、すべての安全なシンボリック リンクをうるさくスキップします。

-リンク --安全なリンク
安全なシンボリック リンクを複製し、安全でないシンボリック リンクをスキップします。

-リンク
すべてのシンボリック リンクを複製します。

診断


rsync は時折、少し不可解に見えるエラー メッセージを生成します。 そのもの
最も混乱を招くように思われるのは、「プロトコル バージョンの不一致 -- シェルはクリーンですか?」です。

このメッセージは通常、起動スクリプトまたはリモート シェル機能が生成することによって発生します。
rsync がトランスポートに使用しているストリーム上の不要なガベージ。 診断方法
この問題は、次のようにリモート シェルを実行することです。

ssh リモートホスト / bin / true > out.dat

それから out.dat を見てください。 すべてが正しく機能している場合、out.dat はゼロになります。
長さファイル。 rsync から上記のエラーが発生している場合は、おそらく次のようになります。
その out.dat にはテキストまたはデータが含まれています。 内容を見て、何があるかを考えてみてください。
それを生産しています。 最も一般的な原因は、正しく構成されていないシェル起動スクリプト (
非対話型ログインの出力ステートメントを含む .cshrc または .profile として)。

フィルタ パターンのデバッグに問題がある場合は、 -vv オプションを選択します。
このレベルの冗長性では、rsync は個々のファイルが含まれている理由を示します。
除外されました。

EXIT VALUES


0 成功

1 構文または使用法のエラー

2 プロトコルの非互換性

3 入力/出力ファイル、ディレクトリの選択エラー

4 要求されたアクションはサポートされていません: で 64 ビット ファイルを操作しようとしました
それらをサポートできないプラットフォーム。 または、によってサポートされているオプションが指定されました。
サーバーではなくクライアント。

5 クライアント サーバー プロトコルの開始エラー

6 デーモンがログ ファイルに追加できません

10 ソケット I/O のエラー

11 ファイル I/O のエラー

12 rsync プロトコル データ ストリームのエラー

13 プログラム診断のエラー

14 IPC コードのエラー

20 受信した SIGUSR1 または SIGINT

21 waitpid() によって返されるエラー

22 コア メモリ バッファの割り当てエラー

23 エラーによる部分転送

24 ソースファイル消失による部分転送

25 --max-delete 制限は削除を停止しました

30 データ送受信のタイムアウト

35 デーモン接続待ちタイムアウト

ENVIRONMENT 変数


CVシニョーレ
CVSIGNORE 環境変数は、.cvsignore の無視パターンを補足します。
ファイル。 を参照してください。 --cvs-exclude 詳細については、オプションを参照してください。

RSYNC_ICONV
デフォルトを指定する --iconv この環境変数を使用して設定します。 (最初にサポートされた
3.0.0で。)

RSYNC_PROTECT_ARGS
必要な場合は、ゼロ以外の数値を指定します。 --保護引数 するオプション
デフォルトで有効にするか、デフォルトで無効にするためにゼロの値を指定します。
(3.1.0 で最初にサポートされました。)

RSYNC_RSH
RSYNC_RSH 環境変数を使用すると、デフォルトで使用されるシェルをオーバーライドできます。
rsync のトランスポート。 コマンドの後にコマンド ライン オプションを使用できます
のように -e オプションを選択します。

RSYNC_PROXY
RSYNC_PROXY 環境変数を使用すると、rsync クライアントを
rsync デーモンに接続するときに Web プロキシを使用します。 RSYNC_PROXY を
ホスト名:ポート ペア。

RSYNC_PASSWORD
RSYNC_PASSWORD を必要なパスワードに設定すると、認証済みの実行が可能になります
ユーザーの介入なしで rsync デーモンへの rsync 接続。 これが行うことに注意してください
ssh などのリモート シェル トランスポートにパスワードを提供しない。 やり方を学ぶ
その場合は、リモート シェルのドキュメントを参照してください。

USER or ログ名
USER または LOGNAME 環境変数は、デフォルトを決定するために使用されます
ユーザー名が rsync デーモンに送信されます。 どちらも設定されていない場合、ユーザー名はデフォルトで
"誰でもない"。

ホーム HOME 環境変数は、ユーザーのデフォルトの .cvsignore ファイルを見つけるために使用されます。

onworks.net サービスを使用してオンラインで rsync を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad




×
Advertisement
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。