rootとしてrsyncを実行しますが、ユーザーの所有権を保持します


36

rsyncを使用して、あるサーバーから別のサーバーにユーザーファイルをバックアップしたいと思います。しかし、ユーザーフォルダーがルートに変更されていることに気付きました。rsync(rootで実行)でユーザー権限を保持するにはどうすればよいですか?


ドライブのコピーを作成するとき、およびファイルをドライブにコピーするときは、rsyncをrootとして実行する必要があります。権限の低いユーザーとしていずれかの手順を実行すると、ルートファイルはそのユーザーに降格されます。
エリックレシンスキー

回答:


46

-aフラグを使用します。これには、特にオプション-o-gが含まれ、所有者とグループが保持されます。これには、rsyncrootとして実行する必要があります。

また、を参照してくださいman rsync


1
rootでなくてもそれは可能ですか?マッピングを別のサイドカーファイルに保存するオプションはありますか?
thomas.mc.work

1
このコメントを見逃しました。いいえ、root所有者を自分以外のユーザーに変更することは許可されていないため、存在しなければ機能しません。これにはマッピングファイルはまったく役に立ちません。
スヴェン

15

許可を維持するには、「アーカイブ」モードを使用し-aます。一般的な例は-avz次のとおりです。

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

これにより、シンボリックリンク、デバイス、属性、権限、所有権などが転送で保持されます。さらに、転送のデータ部分のサイズを削減するために圧縮が使用されます。


5

バックアップにrsyncを使用している場合は、代わりにrsnapshotを使用することをお勧めします(rsyncを使用します)。バックアップをローテーションし、ハードリンクを使用するため、毎日のバックアップの違いを確認できます(ただし、フォルダーには完全なコンテンツがあるように見えます)。これは、職場のWindowsサーバーとLinuxサーバーの両方のバックアップに使用します。私たちに最適です!

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