Thứ Bảy, 21 tháng 6, 2014

Mirror site dùng rsync - Phần 1

rsync là một công cụ đồng bộ trên linux. Công cụ này hỗ trợ đồng bộ chỉ những sai biệt giữa hai directory và cho phép nén dữ liệu khi truyền qua network nên rất tối ưu cho băng thông. Tuy nhiên, các tiện ích xác định sai biệt và nén dữ liệu của nó có thể làm tăng CPU load.

Dữ liệu được truyền đi giữa hai site nằm trên hai máy khác nhau:
192.168.56.1: máy nguồn, /usr/local/apache2/htdocs/test, thư mục nguồn.
192.168.56.250: máy đích, /var/www/test, thư mục đích.

Dữ liệu sẽ được truyền qua tunnel giữa hai máy để đảm bảo tính an toàn. Tôi sẽ thiết lập một
openssh-client trên 192.168.56.1 
openssh-server trên 192.168.56.250
Phương thức xác thực là key based authentication. Cách thiết lập tôi đã có một bài viết nên ở đây tôi sẽ không viết lại.

Thực hiện lệnh trên 192.168.56.1
rsync -avz --delete /usr/local/apache2/htdocs/test -e "ssh -i <path to private file>" test@192.168.56.250:/var/www/test

-a: archive mode
-v: verbose
-z: compress
--delete: chỉ đồng bộ sai biệt giữa hai thư mục nguồn và đích
-e: mở ra một remote shell để đẩy dữ liệu lên qua tunnel ssh

Kết quả câu lệnh sẽ đồng bộ toàn bộ file/dir trong /usr/local/apache2/htdocs/test trên 192.168.56.1 lên /var/www/test trên 192.168.56.250. Chú ý cấp quyền đọc ghi cho user test lên thưc mục /var/www/test.

Tham khảo: http://www.howtoforge.com/mirroring_with_rsync

Không có nhận xét nào:

Đăng nhận xét