Làm cách nào để giữ Rupync khỏi các tập tin được chuyển?


72

Tôi có một thiết lập kết nối sshfs với một hệ thống tập tin từ xa trên máy chủ Linux. Tôi đang thực hiện một Rsync từ máy chủ cục bộ của mình đến hệ thống tập tin ftpfs. Do tính chất của thiết lập này, tôi không thể làm chownbất cứ điều gì trên hệ thống tập tin sshfs.

Khi tôi thực hiện Rsync, nó sẽ cố gắng điều khiển tất cả các tệp sau khi nó chuyển chúng. Điều này dẫn đến lỗi chown, mặc dù nó chuyển các tập tin tốt.

Với Rupync, có cách nào để bảo nó không thử và chỉnh sửa các tệp không? Nếu tôi rsync như 1000 tệp, tôi sẽ có một bản ghi 1000 chown: permission denied (error 13)lỗi. Tôi biết sẽ không ảnh hưởng gì đến những lỗi này vì quyền sở hữu các tệp được xác định bởi chính cấu hình sshfs. Nhưng nó sẽ là tốt đẹp để không có được chúng.

Câu trả lời:


107

Bạn có thể đang chạy rsync như thế này:

rsync -a dir/ remote:/dir/

Các -atùy chọn theo các tài liệu tương đương với:-rlptgoD

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

Bạn có thể muốn xóa -o-gcác tùy chọn:

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

Vì vậy, thay vì lệnh rsync của bạn sẽ trông giống như thế này:

rsync -rlptD dir/ remote:/dir/

Hoặc như @glglgl chỉ ra:

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

Các tùy chọn còn lại đang sử dụng là:

      -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
... hoặc chỉ-a --no-o --no-g
glglgl

1
Tôi chỉ sử dụng rsync -r --no-o --no-g /source/* /dest/và chủ sở hữu và nhóm các tệp tại đích vẫn được thay đổi theo nguồn. Có ý kiến ​​gì không?
Ram Patra


5

Không sử dụng -atùy chọn, vì nó sẽ bao gồm -ptùy chọn giữ quyền. Đối với tình huống này, -rnên là đủ.

Để biết thêm thông tin, xem man rsync.


4
Bạn có chắc chắn -plà những gì tôi muốn tránh? Quyền sở hữu khác với quyền, đúng không?
Jake Wilson

0

Tôi đã gặp một cái gì đó tương tự trong đó rsynckhông giữ lại chủ sở hữu và nhóm tệp & thư mục được đồng bộ hóa từ một máy chủ từ xa. Để khắc phục, chúng tôi đã copy qua /etc/shadow, /etc/group/etc/passwdtập tin.

Khi tôi chạy rsynclệnh bên dưới thì nó hoạt động ở chỗ nó giữ quyền, liên kết tượng trưng và quyền sở hữu.

Tôi đã thiết lập các khóa ssh để sử dụng ssh không mật khẩu.

rsync -avpog user@10.1.x.x:/usr/local /usr
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.