Đồng bộ file dữ liệu là nhu cầu tất yếu trong những hệ thống load balacing hay replicate hiện nay. Có rất nhiều tool để làm việc này nhưng Rsync là một tool kinh điển được nhiều system admin dùng từ rất lâu nay. Mình giới thiệu cách sử dụng Rsync để đồng bộ file giữa 2 server hay 2 VPS Linux, thậm chí là VPS Linux với VPS Windows (đã cài Rsync với Cygwin) thông qua giao thức SSH để nâng cao tính bảo mật của dòng dữ liệu!
Bước 1: Trên server BACKUP tạo:
useradd -d /backup/my-rsync -m -s /bin/bash my-rsyncBước 2: Trên server gốc tạo các khóa
ssh-keygen -t dsa -b 1024 -f /rsync/my-rsync-keyBước 3: Quay lại server Backup, chuyển sang user my-rsync và:
cd ~/.sshtouch authorized_keyschmod 600 authorized_keyscat my-rsync-key.pub >> authorized_keysBước 4: Trở lại server gốc tạo 1 scripts rsync.sh như sau:
#!/bin/shrsync -avz /home/my-folder/* -e "ssh -i /rsync/my-rsync-key" my-rsync@server-Backup:/backup/my-rsync/my-folder-backupvà đưa nó vào crontab để đồng bộ lúc 1h10′ sáng hàng ngày:
10 1 * * * (sh /my-scripts/rsync.sh)
Như vậy với 4 bước trên, ta đã có thể đồng bộ dữ liệu giữa 2 server bất kỳ với nhau, tất nhiên là mới chỉ 1 chiều, còn đồng bộ 2 chiều hay còn gọi là bidirection sync