Hướng dẫn đồng bộ dữ liệu với Rsync qua SSH

Rsync là một tiện ích để chuyển và đồng bộ hóa các tập tin qua các hệ thống máy tính một cách hiệu quả, bằng cách kiểm tra dấu thời gian và kích thước tệp. Rsync thường được sử dụng để đồng bộ các tập tin và thư mục giữa hai hệ thống khác nhau. Một trong những tính năng nổi bật của rsync là nó chỉ đồng bộ những thay đổi trong file hay folder cần đồng bộ và giữ nguyên được Permissions, Owner, Group, Symlinks, TimeStamp của đối tượng sau khi đồng bộ.

Cài đặt Rsync

– Trên Red Hat/CentOS

yum install rsync

– Trên Debian/Ubuntu

apt-get install rsync

Sử dụng Rsync

Cú pháp câu lệnh:

Máy nguồn

rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" user@<source>:<source_dir> <dest_dir>

Máy đích

rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" [source_dir] [dest_host:/dest_dir]

Tham số lệnh:

rsync

  • a: 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 như permissions, owner, group, modification times, symlinks, device files.
  • H: giữ nguyên hard-links
  • A: giữ nguyên ACLs
  • X: giữ nguyên các thuộc tính mở rộng
  • v: tăng hiệu quả
  • –numeric-ids: không ánh xạ giá trị uid/gid theo tên user/group
  • –delete: xóa các tập tin không liên quan ở thư mục đích
  • –progress: hiển thị trạng thái đồng bộ

ssh

  • T: tắt pseudo-tty để giảm tải CPU trên máy đích
  • c arcfour: sử dụng mã hóa SSH yếu nhất nhưng nhanh nhất
  • o Compression=no: tắt chế độ nén trong SSH
  • x: tắt X forwarding nếu nó được bật theo mặc định

Thí dụ chúng ta sẽ đồng bộ dữ liệu trong thư mục /home từ máy chủ gốc (103.255.236.158) tới máy chủ đích (103.255.236.172) vào thư mục /root

Đăng nhập vào 103.255.236.158 và rsync dữ liệu đến 103.255.236.172

rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" /home/ root@103.255.236.172:/root

Lưu ý: dấu “/” trong câu lệnh trên nghĩa là chỉ đồng bộ nội dung trong thư mục home. Nếu không có dấu “/”, hệ thống sẽ hiểu là lấy cả folder home, sau khi đồng bộ tại root sẽ là root/home/[nội dung home] chứ không phải là root/[nội dung home]

Rate This Article

Hướng dẫn đồng bộ dữ liệu với Rsync qua SSH
5 (100%) 1 vote

Leave A Comment?