web-dev-qa-db-ja.com

Rsyncが転送されたファイルをchownするのを防ぐ方法は?

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

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

Rsyncで、ファイルを試さないでchownしないように指示する方法はありますか? 1000ファイルのようにrsyncを実行すると、1000 chown: permission denied (error 13)エラーのログが記録されます。ファイルの所有権はsshfs構成自体によって決定されるため、これらのエラーが発生しても何の問題もありません。しかし、それらを取得しないのはいいことです。

73
Jake Wilson

あなたはおそらく次のように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
110
aculich

渡さない-oまたはそれを暗示するその他のオプション。

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

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

5
Sven

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

以下のrsyncコマンドを実行すると、権限、シンボリックリンク、および所有権が保持されるように機能しました。

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

rsync -avpog [email protected]:/usr/local /usr
0
pbroderi31