Rsync (Remote Sync) là một công cụ mạng để sao lưu vào đồng bộ dữ liệu trên linux. Rsync có khả năng đồng bộ file giữa:
– 2 thư mục trong 1 máy chủ local
– 2 thư mục giữa máy chủ local và máy chủ remote
So sánh với scp truyền thống, rsync có những ưu điểm nổi trội:
– Hỗ trợ sao chép link, permission, .v.
– Nhanh hơn, do sử dụng cơ chế nén khi copy
– Có những tính năng như giới hạn băng thông truyền tải, bảo tồn được mốc thời gian, permission nguyên vẹn khi chuyển đi.
Syntax cơ bản:
rsync options source destination
Trong đó:
-v : verbose
-r : sao chép dữ liệu theo cách đệ quy ( không bảo tồn mốc thời gian và permission trong quá trình truyền dữ liệu)
-a :chế độ lưu trữ cho phép sao chép các tệp đệ quy và giữ các liên kết, quyền sở hữu, nhóm và mốc thời gian
-z : nén dữ liệu
-h : định dạng số
Cài đặt:
#Đối với họ redhat
yum install rsync
#Đối với họ debian
apt-get install rsync
Sao lưu, đồng bộ file trên local:
[root@devopsvn.xyz]# rsync -zvh backup.tar /tmp/backups/
created directory /tmp/backups
backup.tar
sent 12.31M bytes received 51 bytes 9.27M bytes/sec
total size is 21.49M speedup is 2.10
Nếu thư mục đích chưa tồn tại, thì rsync sẽ tự tạo folder
Ví dụ về đồng bộ folder 1 và folder 2
[root@devopsvn.xyz]# rsync -avzh /folder1 /folder2/
Đồng bộ dữ liệu giữa local và remote server, hoặc ngược lại:
Ví dụ 1: sao chép folder /tmp/vidu lên thư mục /opt của server 1.2.3.4
[root@devopsvn.xyz]$ rsync -avz /tmp/vidu/ root@1.2.3.4:/opt/
Ví dụ 2: Sao chép /opt/sex/ trên 1.2.3.4 về /opt/sex_backup của local
[root@devopsvn.xyz]# rsync -avzh root@1.2.3.4:/opt/sex/ /opt/sex_backup/
Các tham số khác khi sử dụng rsync:
--progress
Hiển thị dung lượng và thời gian còn lại trong quá trình truyền.
--delete
nếu file/folder có tồn tại ở thư mục đích nhưng không có ở thư mục nguồn thì xoá ở thư mục đích.
--max-size='200k'
Giới hạn chỉ truyền file dung lượng tối đa là 200k (thích 200k thành gì thì sửa)
--remove-source-files
Truyền xong thì xoá thư mục/file cũ
--bwlimit=100
Giới hạn băng thông truyền tải.