Tải bản đầy đủ (.doc) (3 trang)

Rsync server backup

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (130.67 KB, 3 trang )

Nguyễn Trường Giang - Học viện Quản trị mạng
PNH
Backup dữ liệu với RSYNC
Tiên ích rsync thường được dùng để tạo backup trong môi trường UNIX/Linux. Nó sẽ đồng bộ
hóa dữ liệu từ thư mục này đến thư mục khác trên cùng một server, hoặc backup dữ liệu từ server
này đến server khác
Tốc độ: Rsync sẽ thực hiện đồng bộ hóa giữa hai nơi bằng cách copy theo block (theo khối trên ổ
cứng) chứ không phải copy theo từng file (Rsync cũng hỗ trợ copy theo từng file). Tuy nhiên khi
thực hiện trên block sẽ cho tốc độ nhanh hơn nhiều các phương thức khác.
Bảo mật: Trong quá trình truyền dữ liệu, Rsync cho phép sử dụng mã hóa dữ liệu sử dụng qua
ssh nên data khi truyền sẽ được bảo mật tốt hơn.
Bandwidth: Khi rsync bằng các option cơ bản, nó cho phép nén dữ liệu và khi sang bên đích nó
sẽ giải nén. Quá trình nén cũng theo block do vậy băng thông sẽ giảm tối đa. Tuy nhiên quá trình
nén và giải nén gây ra tốn thời gian. Do vậy nếu băng thông của mạng lớn, rsync sẽ có tùy chọn
không nén khi truyền, tăng tốc thời gian đồng bộ hóa.
Khi cài đặt và thực thi rsync, nó không cần cấp bất cứ quyền nào đặc biệt. Chỉ như một công cụ
bình thường, rất dễ dàng sử dụng và tiện lợi.
Cú pháp: rsync -options source destination
1. Đông bộ 2 thư mục trên cùng một server
# mkdir /tmp/ssh
# rsync -zvr /etc/ssh/ /tmp/ssh
-z : Bật tính năng nén
-v : verbose
-r : Áp dụng với các thư mục con (đệ qui)
Với các option trên thì các thuộc tính của các file (thời gian…) sẽ không được giữ nguyên khi
nó copy đến thư mục đích.
# ls -l /etc/ssh /tmp/ssh
2. Giữ các thuộc tính bằng cách sử dụng option -a
# mkdir /tmp/ssh2
# rsync -avz /etc/ssh/ /tmp/ssh2
# ls -l /etc/ssh /tmp/ssh2


3. Đồng bộ các file từ Local server sang Remote server
# rsync -avz /etc/ssh :/tmp/ssh
4. Đồng bộ các file từ Remote server về Local server
# rsync -avz :/etc/ssh /tmp/ssh
5. Remote shell for Synchronization
Sử dụng options -e ssh để sử dụng ssh khi sync
# rsync -avz -e ssh :/etc/ssh /tmp/ssh
6. Không ghi đè dữ liệu ở đích
Nguyễn Trường Giang - Học viện Quản trị mạng
PNH
Sử dụng option -u trong trường hợp chỉ muốn đồng bộ những file, folder chưa tồn tại ở server
đích. Những file đã tồn tại (đã được đồng bộ rồi) thì không đồng bộ nữa.
7. Chỉ đồng bộ cây thư mục (không đồng bộ file)
Sử dụng option -d
# rsync -v -d :/etc/ssh /tmp/ssh
8. Xóa các file, folder ở đích.
Sử dụng option delete nếu muốn đồng bộ hoàn toàn giữa 2 nơi, các file, folder ở đích mà không
tồn tại ở server nguồn sẽ bị xóa bỏ để đảm bảo server đích là bản sao hoàn chỉnh của server
nguồn.
# rsync -avz delete :/etc/ssh /tmp/ssh
9. Giới hạn kích cỡ files khi đồng bộ
Sử dụng option -max-size
Ví dụ: Chỉ transfer các file có size nhỏ hơn hoặc bằng100K
# rsync -avz -max-size=’100K’ :/etc/ssh /tmp/ssh
10. Transfer files thay vì transfer block
Quá trình copy data giữa hai server thực hiện bằng copy block. Nếu mạng có băng thông rộng,
CPU mạnh, có thể sử dụng option -W để copy theo file.
# rsync -avzW :/etc/ssh /tmp/ssh
11. Đồng bộ dữ liệu cho 2 server sử dụng rsync qua SSH
SERVER1: /data → SERVER2: /backup

Backup dữ liệu trong thư mục /data của SERVER1 sang thư mục /backup trên SERVER2
11.1 Chứng thực Basic
SERVER2
Thực thi lệnh
# rsync -avz delete -e ssh root@SERVER1:/data /backup
Nhập password của máy SERVER1.
Tùy chọn -a: (nghĩa là archive) Các file được backup có thể được giữ nguyên sự phân quyền,
chủ sở hữu, nhóm sở hữu, thời gian, recursive mode và các symbolic links
-r: backup áp dụng với các thư mục con (đệ qui)
-l: backup symbolic link
-t: backup thời gian file
-p: backup các phân quyền trên file
-o: backup user sở hữu file
-g: backup group sở hữu file
Tùy chọn -v : hiển thị dạng chi tiết (dùng -vv để hiển thị chi tiết hơn)
Tùy chọn -z : nén dữ liệu để tiết kiệm băng thông
Tùy chọn delete : xóa các file trên server backup khi file trên server nguồn không tồn tại
Tùy chọn -e ssh: chỉ định sử dụng ssh với các tùy chọn
Nguyễn Trường Giang - Học viện Quản trị mạng
PNH
Bằng cách kết hợp rsync với ssh để mã hóa dữ liệu → Dữ liệu được backup qua mạng được bảo
mật (Mặc định rsync không mã hóa dữ liệu khi backup qua mạng )
11.2 Chứng thực mã hóa RSA
SERVER2
# ssh-keygen -t rsa
Copy file public key id_rsa.pub lên SERVER1
# ssh-copy-id -i ~/.ssh/id_rsa.pub
Lệnh ssh-copy-id copy public key và đổi tên thành authorized_keys
SERVER1
Cấu hình sshd_config

# vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Restart dịch vụ SSH:
# service sshd restart
SERVER2
Tạo file script rync.sh với nội dung sau
# vim /rsync.sh
#! /bin/sh
rsync -avz delete -e ssh root@SERVER1:/data /backup
Thêm quyền execute cho file rsync.sh
# chmod u+x /rsync.sh
Đặt crontab thực thi file rsync.sh sau mỗi phút
# crontab -e
*/1 * * * * sh /rsync.sh >/rsync.log 2>&1
# service crond restart
# crontab -l
*/1 * * * * sh /rsync.sh >/rsync.log 2>&1
# tail -f /var/log/cron
Apr 24 00:23:01 linux crond[3885]: (root) CMD (sh /rsync.sh >/rsync.log 2>&1)
Apr 24 00:24:01 linux crond[3896]: (root) CMD (sh /rsync.sh >/rsync.log 2>&1)
Apr 24 00:25:01 linux crond[3906]: (root) CMD (sh /rsync.sh >/rsync.log 2>&1)
Apr 24 00:26:01 linux crond[3914]: (root) CMD (sh /rsync.sh >/rsync.log 2>&1)
Apr 24 00:27:01 linux crond[3921]: (root) CMD (sh /rsync.sh >/rsync.log 2>&1)
Cứ sau mỗi phút thư mục SERVER2: /backup sẽ tự động rsync với thư mục SERVER1: /data

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×