chạy rsync với quyền root nhưng giữ quyền sở hữu người dùng


36

Tôi muốn sao lưu các tệp người dùng từ máy chủ này sang máy chủ khác bằng rsync. nhưng tôi nhận thấy rằng các thư mục người dùng thay đổi thành root. Làm cách nào tôi có thể giữ quyền người dùng bằng rsync (chạy bằng root)?


rsync cần được chạy dưới quyền root khi bạn tạo một bản sao của ổ đĩa cũng như khi bạn sao chép tệp vào ổ đĩa. Nếu bạn thực hiện một trong các bước với tư cách là người dùng cấp phép thấp hơn, thì các tệp gốc sẽ bị hạ cấp cho người dùng đó.
Eric Leschinski

Câu trả lời:


46

Sử dụng -acờ, bao gồm trong số những thứ khác, các tùy chọn -o-g, bảo tồn chủ sở hữu và nhóm. Điều này đòi hỏi bạn phải chạy rsyncnhư root.

Ngoài ra, xem man rsync.


1
Điều đó cũng có thể mà không cần root? Có một tùy chọn để lưu trữ ánh xạ trong một tệp sidecar riêng biệt?
thomas.mc.work

1
Bỏ lỡ bình luận này. Không, nó không hoạt động mà không tồn tại rootbởi vì bạn không được phép thay đổi chủ sở hữu thành bất kỳ ai khác sau đó là người dùng của riêng bạn. Một tập tin ánh xạ sẽ không giúp được gì với điều này.
Sven

15

Giữ quyền được thực hiện thông qua chế độ "lưu trữ" , -a. Ví dụ phổ biến là -avz:

rsync -avz foo:src/bar/ /data/bar

Điều này đảm bảo rằng các liên kết tượng trưng, ​​thiết bị, thuộc tính, quyền, quyền sở hữu, v.v ... được giữ nguyên trong quá trình chuyển. Ngoài ra, nén sẽ được sử dụng để giảm kích thước các phần dữ liệu của truyền.


5

Nếu bạn đang sử dụng rsync để sao lưu, tôi thực sự có thể khuyên bạn nên sử dụng rsnapshot thay thế (nó sử dụng rsync). Nó xoay các bản sao lưu và sử dụng các liên kết cứng để bạn có thể thấy sự khác biệt giữa các bản sao lưu hàng ngày của mình (nhưng các thư mục vẫn trông giống như chúng có nội dung đầy đủ). Tôi sử dụng điều này để sao lưu cả máy chủ Windows và Linux tại nơi làm việc. Hoàn hảo cho chúng tôi!

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.