Rsync không sao lưu một số tệp, gây ra lỗi 22


9

Tôi đang cố gắng sao lưu toàn bộ máy chủ của mình bằng rsync đơn giản trên ổ đĩa được gắn NFS trên '/ Nas'

Đây là lệnh rsync của tôi

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

Nhận được lỗi sau:

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

hoặc là

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

Bất cứ ý tưởng tại sao? Tôi sử dụng thông số '-s' để bảo vệ tên tệp

Câu trả lời:


10

Lỗi là trên chown. Tôi đoán: ngàm NFS mục tiêu của bạn là ổ đĩa FAT32 hoặc NTFS không hỗ trợ chown. Bạn có hai tùy chọn: định dạng nó với hệ thống tệp Linux như ext3 hoặc bỏ hoàn toàn quyền và chủ sở hữu ( --no-owner --no-grouptùy chọn rsync).


Phân vùng là ext3; nhưng tôi cần phải giữ chủ sở hữu / nhóm đó là lý do tại sao tôi sử dụng tùy chọn 'id-ids'
Vũ điệu

Là NAS của bạn chạy Linux hoặc một số hương vị Unix khác?
wazoox

Linux tất nhiên ...
Sàn nhảy

1

Tôi đã có cùng một vấn đề trong một thời gian dài mà không có giải pháp trước mắt. Vấn đề dường như là NFS sẽ không cho phép bạn thay đổi UID / GID của tệp thành tệp không tồn tại trên máy chủ:

# 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

Có vẻ như đây là một chút thiếu sót trong thiết kế trong NFS; bạn không thể sử dụng nó để sao lưu các tập tin thuộc sở hữu của một người không tồn tại trên máy chủ. Nhưng có lẽ có một cách để vô hiệu hóa kiểm tra này?


Nó hoạt động với tôi, trên máy chủ NFS của tôi. Có lẽ đó là một hạn chế của distro / OS đang chạy trên máy chủ NFS?
wazoox

0

Trong trường hợp của tôi, vấn đề hóa ra là phiên bản NFS. Với NFSv4, uid / gid không tồn tại ở phía máy chủ không được phép, trong khi NFSv3 (miễn là nó được xuất với no_root_squash) không bận tâm. Vì vậy, sau khi tôi thêm vers=3vào các tùy chọn gắn kết trong /etc/fstabrsync đã có thể hoạt động tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.