--delete-excludedはrsyncに対して正確に何をしますか?


32

サーバーのバックアップにはrsyncを使用しますが、--delete-excludedパラメーターについては質問があります。

/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded     --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01

からman rsync

 --delete-excluded       also delete excluded files from dest dirs

私が持っている場合は、私に、非英語のネイティブは、rsyncは、リモートサーバー上の実際の宛先ディレクトリから除外するディレクトリを削除することが、この手段は、そう/home/backup/home/settings私の除外-フォルダに、これらのフォルダは、実際にされるだろう、リモートサーバから削除します、。

他のいくつかのリソースからは、スペースを節約するためにローカルバックアップフォルダからファイルを削除するようです。たとえば、サーバー自体に小さなバックアップを作成し、このデータを除外して、ストレージスペースを無駄にしないようにすることができます。

rsyncが機能することを意図しているので、rsyncが一方向のみの仕事をすることは私にとって非常に重要です。リモートサーバー上のファイル/ディレクトリを削除するソフトウェアを持つことでリスクを負いたくありません。

回答:


37

あなたの解釈は正しいです。転送からファイルまたはディレクトリを除外した場合、-delete-excludedはそれらを宛先側から削除します(これは「リモートサーバー」である必要はありません。rsyncサーバーからローカルコンピューターにコピーするために使用できます)。そこで見つけます。たとえば、を使用する--exclude=*.o --delete-excludedと、宛先側で.oで終わるファイルがrsyncによって検出されると、ソースディレクトリに存在するかどうかに関係なく削除されます。


1
では、リモートサーバーではなく、/。snapshot / hourly.0 / server01からディレクトリ/ファイルを削除しますか?
ウジャイン

3
@chronozリモートサーバーからローカルコンピューターにコピーする場合、宛先はローカルコンピューターです。ローカルコンピューターからリモートサーバーにコピーする場合、宛先はリモートサーバーです。ここで重要なのは宛先です。宛先がリモートサーバーの場合、リモートサーバーからファイルが削除されます。
DerfK

ここで確認: comentum.com/rsync.html
SDsolar

1
最近、「-delete-excluded」が「--delete --delete-excluded」と完全に同等であることを発見しました。上記の回答例では、ソース側に存在しないリモートファイルも削除されます。
ウェイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.