Quản trị net diễn đàn chia sẻ thông tin các thủ thuật mạng, internet bảo mật thông tin dành cho giới IT VIệt hy vọng là nơi bổ ích cho cộng đồng

Quản trị net diễn đàn chia sẻ thông tin các thủ thuật mạng, internet bảo mật thông tin dành cho giới IT VIệt hy vọng là nơi bổ ích cho cộng đồng (http://quantrinet.com/forum/index.php)
-   Linux và các thủ thực nhỏ (http://quantrinet.com/forum/forumdisplay.php?f=430)
-   -   Hướng dẫn đồng bộ dữ liệu bằng Rsync (http://quantrinet.com/forum/showthread.php?t=7978)

emailhoc 17-06-2011 03:22 PM

Hướng dẫn đồng bộ dữ liệu bằng Rsync
 
Mô hình:

Server chính: 192.168.1.50
Server phụ: 192.168.1.51

Yêu cầu đặt ra
:
Đồng bộ hóa dữ liệu một cách tự động thư mục /var/www/html/abc.com/images từ server chính sang server phụ

Các bước thực hiện như sau:

1. Cài đặt rsync
: Thực hiện trên cả server chính lẫn server phụ

Mã:

yum install rsync
2. Tạo tài khoản thực hiện rsync: Thực hiện trên server chính bằng quyền root. Ví dụ ở đây mình tạo tài khoản tên là syntest

Mã:

useradd -d /home/syntest -m -s /bin/bash syntest
Lệnh trên sẽ tạo tài khoản syntest với thư mục gốc là /home/syntest và login ở chế độ /bin/bash. Sau đó, ta tiến hành đặt mật khẩu cho tài khoản syntest bằng lệnh:
Mã:

passwd syntest
3. Thử rsync: Thực hiện trên server phụ bằng quyền root
Mã:

rsync -avz -e ssh syntest@192.168.1.50:/var/www/html/abc.com/images /var/www/html/abc.com/
Lệnh trên yêu cầu bạn nhập mật khẩu của tài khoản syntest. Sau khi thực hiện thành công, bạn vào thư mục /var/www/html/abc.com thuộc server phụ thì sẽ thấy thư mục images đã được copy sang.

4. Tạo key xác thực để không cần nhập mật khẩu khi thực hiện rsync: Thực hiện trên server phụ bằng quyền root

Mã:

mkdir /root/rsync
ssh-keygen -t dsa -b 1024 -f /root/rsync/mirror-rsync-key

Bạn sẽ thấy các kết quả như sau. Lưu ý khi yêu cầu nhập passphrase, bạn không cần điền gì cả chỉ cần nhấn Enter

Mã:

Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase): [press enter here]
Enter same passphrase again: [press enter here]
Your identification has been saved in /root/cron/mirror-rsync-key.
Your public key has been saved in /root/cron/mirror-rsync-key.pub.
The key fingerprint is:
68:95:35:44:91:f1:45:a4:af:3f:69:2a:ea:c5:4e:d7 root@mirror

Tiếp theo ta chép public key sang server chính

Mã:

scp /root/rsync/mirror-rsync-key.pub syntest@192.168.1.50:/home/syntest/

5. Cấu hình để dịch vụ SSH chấp nhận kiểu chứng thực bằng key
: Thực hiện trên server chính bằng quyền root

Mã:

vi /etc/ssh/sshd_config

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

6. Cấu hình server chính: Thực hiện trên server chính bằng quyền syntest

Mã:

mkdir ~/.ssh
chmod 700 ~/.ssh
mv ~/mirror-rsync-key.pub ~/.ssh/
cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys
cat mirror-rsync-key.pub >> authorized_keys

Các lệnh trên dùng để chèn nội dung của mirror-rsync-key.pub vào tập tin /home/syntest/.ssh/authorized_keys. Nội dung của tập tin authorized_keys sẽ tương tự như bên dưới:

Mã:

ssh-dss AAAAB3NzaC1kc3MAAA[...]lSUom root@
mirror

7. Thử nghiệm rsync bằng key: Thực hiện trên server phụ bằng quyền root
Mã:

rsync -avz --delete -e "ssh -i /root/rsync/mirror-rsync-key" syntest@192.168.1.50:/var/www/html/abc.com/images /var/www/html/abc.com
Nếu thành công thì tiến trình đồng bộ dữ liệu sẽ được thực thi mà không yêu cần bạn nhập mật khẩu

8. Lập lịch để chạy đồng bộ tự động: Thực hiện trên server phụ bằng quyền root
Mã:

crontab -e
Và nhập vào nội dung như sau:
Mã:

*/5 * * * * /usr/bin/rsync -avz --delete -e "ssh -i /root/rsync/mirror-rsync-key"  syntest@192.168.1.50:/var/www/html/abc.com/images /var/www/html/abc.com/

Done


Bây giờ là 04:35 AM. Giờ GMT +7

Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.