rsync --del または --delete

rsync --del または --delete

マンページを基準にすると次のようになります。

--削除期間--削除

転送が発生すると、受信側はファイルの削除を段階的に中断するように要求します。ディレクトリごとの削除検索は各ディレクトリの更新を確認する前に実行されるため、ディレクトリ固有のフィルタファイルが更新される前に削除することを含む、より効率的な --delete-before のように動作します。このオプションはrsyncバージョン2.6.4で最初に追加されました。ファイルの削除の詳細については、--delete(暗黙的)を参照してください。

そして--delete-before--delete-after私はこれらとの違いをよく理解していません--delete--deleteファイルが削除される前、途中、または後にいつ削除されますか?

文書には次のように記載されています。

したがって、接続の終了が3.0.0以上の場合、--deleteが指定されている場合、デフォルトの削除モードは--delete-duringです(この拡張削除モードを要求するには、--delまたは--delete-duringを明示的に使用します)。 。

--del置き換えるという意味だと思います--delete--deleteoverを使う理由はありますか--del--del3.0.0より小さい接続を使用すると問題が発生しますか? (私はこれがrsyncバージョンであると仮定しています)。

答え1

その後、プロセス--delete-afterは追加/変更が必要なすべてのファイルを転送し、完了すると不要なファイルを削除します。これは、転送が中断されても、ターゲットに常にすべてのファイルのコピーがあることを意味するので、便利です。ただし、大容量ファイルを転送する場合(たとえば、オフサイトバックアップなど)、古いファイルと新しいファイルの両方を保存するために一時的に多くのスペースが必要になる場合があります。

次に、--delete-before転送が開始される前にプロセスからファイルを削除します。つまり、一時的なスペースはあまり必要ありませんが、転送が中断されると、リモート側にファイルのコピーがない可能性があります。

または、--delその後--delete-during、すべてのディレクトリのファイルを削除します。今後そして後ろにそしてより効率的です。 「以前」の影響を部分的に受けますが、1つのディレクトリに制限されます(したがって、データ損失の可能性が少なくなります)。

--delete--delete-during--delete-beforeデフォルトは、サーバー3.0.0以降と通信する場合、以前のバージョンと通信する場合です。したがって、--delete特別なチューニングが必要な場合を除き、ただ。

関連情報