Rsyncが一部のファイルのバックアップに失敗し、エラー22が発生する


9

'/ nas'にNFSマウントされたボリュームで単純なrsyncを使用してサーバー全体をバックアップしようとしています

これが私のrsyncコマンドです

rsync -sav -S --stats -H --numeric-ids --delete -D 
--exclude-from="/usr/local/bin/rsync_nas1_exclude" / /nas1/

次のエラーが発生しました:

rsync: chown "/nas1/home/8003/.local/share/icons/application-x-wine-extension-its.png" 
failed: Invalid argument (22)

または

rsync: chown "/nas1/home/8003/.local/share/applications/wine/Programs/FxPro - Trader"     failed: Invalid argument (22)

なぜか?'-s'パラメータを使用してファイル名を保護します

回答:


10

エラーはオンchownです。私の推測では、ターゲットのNFSマウントは、サポートしていないFAT32またはNTFSボリュームですchown。2つのオプションがあります。ext3のようなLinuxファイルシステムでフォーマットするか、権利と所有者を完全に削除し--no-owner --no-groupます(rsyncオプション)。


パーティションはext3です。しかし、所有者/グループを維持する必要があるため、「numeric-ids」オプションを使用します
Disco

NASはLinuxまたは他のUnix風味を実行していますか?
wazoox

Linuxはもちろん...
ディスコ

1

私は長い間同じ問題を抱えており、解決策は見えません。問題は、NFSではファイルのUID / GIDをサーバーに存在しないものに変更できないことです。

# for a local file, it works fine:
rena@akira:~ $ sudo chown -v 999:999 testfile 
changed ownership of `testfile' to 999:999

# but if the file is on an NFS share, it fails:
rena@akira:/mnt/yuki $ sudo chown -v 999:999 testfile
chown: changing ownership of `testfile': Invalid argument
failed to change ownership of `testfile' to 999:999

これはNFSの設計上の欠陥のようです。サーバー上に存在しない人が所有するファイルのバックアップには使用できません。しかし、おそらくこのチェックを無効にする方法はありますか?


NFSサーバー上で動作します。多分それはNFSサーバーで実行しているディストリビューション/ OSの制限でしょうか?
wazoox

0

私の場合、問題はNFSバージョンであることが判明しました。NFSv4では、サーバー側に存在しないuid / gidは許可されませんでしたが、NFSv3(それがでエクスポートされている限りno_root_squash)は問題ではありませんでした。したがってvers=3/etc/fstabrsync のマウントオプションに追加した後、問題なく動作するようになりました。

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