rsyncはデフォルトで宛先のファイル、フォルダーを削除しますか?


44

ファイル

その仮定/foo/srcのみ含まれA.c、それは/foo/dest両方が含まれていますA.cB.c。そして、次のコマンドを実行するとします。

rsync /foo/src/ /foo/dest

ウィルrsync消去B.c

フォルダー

ここで、その中にいくつかのファイル/foo/srcがあるディレクトリが含まれており、それぞれの中にいくつかのファイルがあるディレクトリとの両方A/foo/dest含まれているとします。そして、次のコマンドを実行するとします(-aオプションには-r、再帰が含まれます):AB

rsync -a /foo/src/ /foo/dest

ウィルrsync消去B及びその内容?


--deleteスイッチが必要です。
フィデリ14年

回答:


51

デフォルトでは、rsyncはファイルを削除しませんが、指定したコマンドオプションに依存します。ファイルを削除する場合は、次のいずれかを使用できます。

  • --del(--delete-duringのエイリアス)
  • −-delete(dest dirsから無関係なファイルを削除します)
  • --delete-before(受信者はxferの前に削除する[デフォルト])
  • -削除中(受信者はxfer中に削除しますが、それ以前ではありません)
  • --delete-after(受信者はxferの前ではなく、削除後)
  • --- delete-excluded(dest dirsから除外されたファイルも削除します)
  • −−max-delete = NUM​​(NUM個を超えるファイルを削除しないでください)

-aオプションを具体的に呼び出したため、ここにマニュアルページの内容を示します

-a、-archive >

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

多重リンクファイルを見つけるのは高価なので、-aはハードリンクを保持しないことに注意してください。-Hを個別に指定する必要があります。

したがって、あなたの質問に対する答えは「いいえ」のようで、あなたの例を考えるとそれは削除されません。
HTH

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.