Home Kiến Thức Mạng Rsync – Hướng dẫn cài đặt, sử dụng công cụ đồng bộ...

Rsync – Hướng dẫn cài đặt, sử dụng công cụ đồng bộ server

9
SHARE

Rsync là công cụ sao chép các file/thư mục, hoặc đồng bộ từ local lên server hay giữa các server với server rất phổ biến. Bộ công cụ có thể giúp ích cho các bạn rất nhiều trong vấn đề di chuyển dữ liệu sang server khác.

I. Tính năng của Rsync

  • Rsync hỗ trợ copy giữ nguyên thông số của files/folder như Symbolic links, Permissions, TimeStamp, Owner và Group.
  • Rsync nhanh hơn scp vì Rsync sử dụng giao thức remote-update, chỉ transfer những dữ liệu thay đổi mà thôi.
  • Rsync tiết kiệm băng thông do sử dụng phương pháp nén và giải nén khi transfer.
  • Rsync không yêu cầu quyền super-user.

II. Cài đặt Rsync

Rsync được cài đặt dễ dàng trên linux với các dòng lệnh

Đối với Centos/Hat

Đối với Ubuntu/Debian

III. Sử dụng Rsync

Trong đó:

  • Option: một số tùy chọn thêm
  • Source : Dữ liệu nguồn
  • Destination : đường dẫn đích đến

Các tham số cần biết khi dùng Rsync

  • -v: hiển thị trạng thái kết quả
  • -r: copy dữ liệu recursively, nhưng không đảm bảo thông số của file và thư mục
  • -a: cho phép copy dữ liệu recursively, đồng thời giữ nguyên được tất cả các thông số của thư mục và file
  • -z: nén dữ liệu khi transfer, tiết kiệm băng thông tuy nhiên tốn thêm một chút thời gian
  • -h: human-readable, output kết quả dễ đọc
  • --delete: xóa dữ liệu ở destination nếu source không tồn tại dữ liệu đó.
  • --exclude: loại trừ ra những dữ liệu không muốn truyền đi, nếu bạn cần loại ra nhiều file hoặc folder ở nhiều đường dẫn khác nhau thì mỗi cái bạn phải thêm --exclude tương ứng.

Khi lần đầu chạy thì Rsync sẽ copy toàn bộ dữ liệu nguồn hiện có đến đường dẫn đích. Lần chạy sau thì Rsync sẽ copy những dữ liệu nào được thay đổi hay chưa được copy mới được transfer. Bạn có thể hiểu đây gọi là đồng bộ.

1. Copy file/folder trên local

Copy file trên local

Ví dụ trên sẽ copy file “backup.tar” tại thư mục hiện tại đến thư mục “/tmp/backups/” trên cùng một máy.

Copy thư mục trên local

Ví dụ trên copy toàn bộ file trong thư mục “public_html” đến thư mục “backups”

2. Copy file/folder giữa các server

Copy thư mục lên Remote server

Lệnh ở trên sẽ copy thư mục “public_html” lên Remote server có IP là 192.168.0.101 lưu tại thư mục “/home/”

IV. Rsync Qua SSH

Với Rsyn bạn còn có thể đồng bộ qua giao thức SSH như vậy thì dữ liệu của bạn sẽ được bảo mật tốt hơn.

Copy file từ Remote Server về Local Server qua SSH

Để xác định sử dụng giao thức sử dụng với Rsync thì bạn thêm tùy chọn -e kèm tên giao thức ở đây là “ssh” như lệnh ở dưới

Lệnh trên sẽ thực hiện copy file “install.log” trên server có ip 192.168.0.100 về máy local lưu tại thư mục “/tmp/”

Copy file từ local server lên Remote Server qua SSH

Nếu sử dụng port SSH custom, không phải port tiêu chuẩn 22, bạn cần chỉ rõ port muốn dùng trong câu lệnh.

Ví dụ với port 2222 câu lệnh sẽ như sau:

V. Các tùy chọn chức năng khác với Rsync

  1. Hiển thị tiến trình trong khi transfer với Rsync với tham số: “–process”
  2. Thêm hoặc bớt file, thư mục trong quá trình transfer với tham  số: “–include” và “–exclude”
  3. Xóa một thư mục không có ở dữ liệu nguồn mà lại có ở dữ liệu đích với tham số: “–delete”
  4. Tự động xóa dữ liệu nguồn khi đã đồng bộ thành công
  5. Giới hạn dung lượng tối đa của file khi đồng bộ
  6. Giới hạn băng thông sử dụng khi đồng bộ dữ liệu
  7. Chạy thử nghiệm Rsync khi bạn chưa biết chắc chắn câu lệnh có đúng không với tham số: “–dry-run”

    Lệnh này chỉ hiển thị kết quả output chứ không có thay đổi file gì cả. Khi thành công thì bạn xóa tham số “–dry-run”.

Nguồn: hocvps.com