Rsyncが転送されたファイルをchown'ingしないようにする方法は?


72

Linuxサーバー上のリモートファイルシステムとのsshfs接続セットアップがあります。ローカルサーバーからftpfs-filesystemへのRsyncを実行しています。このセットアップの性質のためchown、sshfsファイルシステムでは何もできません。

Rsyncを実行すると、すべてのファイルを転送した後、すべてのファイルをchownしようとします。これにより、ファイルは正常に転送されますが、chownエラーが発生します。

Rsyncを使用して、ファイルを試してみてはいけないことを伝える方法はありますか?1000個のファイルのようにrsyncを実行すると、1000個のchown: permission denied (error 13)エラーのログが作成されます。ファイルの所有権はsshfs構成自体によって決定されるため、これらのエラーを取得しても何の害もありません。しかし、それらを取得しないことは良いことです。

回答:


107

おそらく次のようにrsyncを実行しています。

rsync -a dir/ remote:/dir/

-aオプションのドキュメントによるとは同等です:-rlptgoD

      -a, --archive    archive mode; equals -rlptgoD (no -H,-A,-X)

おそらく-o-gオプションとオプションを削除したいでしょう:

      -o, --owner                 preserve owner (super-user only)
      -g, --group                 preserve group

その代わり、rsyncコマンドは次のようになります。

rsync -rlptD dir/ remote:/dir/

または@glglglが指摘するように:

rsync -a --no-o --no-g dir/ remote:/dir/

使用中の残りのオプションは次のとおりです。

      -r, --recursive             recurse into directories
      -l, --links                 copy symlinks as symlinks
      -p, --perms                 preserve permissions
      -t, --times                 preserve modification times
      -D                          same as --devices --specials
          --devices               preserve device files (super-user only)
          --specials              preserve special files

19
...または単に-a --no-o --no-g
-glglgl

1
使用しただけrsync -r --no-o --no-g /source/* /dest/で、宛先にあるファイルの所有者とグループは、ソースに従って変更されたままです。何か案は?
ラムパトラ


5

-aオプションを使用しないでください-p。許可を保持するオプションが含まれます。この状況では、これ-rで十分です。

詳細については、を参照してくださいman rsync


4
-p私が避けたいことは確かですか?所有権は許可とは異なりますか?
ジェイクウィルソン

0

rsyncリモートサーバーから同期されたファイルとディレクトリの所有者とグループが保持されていない同様の現象が発生しました。修正するには、私が上で、コピー/etc/shadow/etc/groupおよび/etc/passwdファイル。

rsync以下のコマンドを実行すると、アクセス許可、シンボリックリンク、および所有権が保持されるようになりました。

パスワードなしのsshを使用するようにsshキーを設定しました。

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