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)?
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)?
Câu trả lời:
Sử dụng -a
cờ, bao gồm trong số những thứ khác, các tùy chọn -o
và -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 rsync
như root.
Ngoài ra, xem man rsync
.
root
bở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.
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.
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!