.
- 1 1. Giới thiệu
- 2 2. Cài đặt rsync trên Ubuntu
- 3 3. Sử dụng cơ bản của rsync
- 4 4. Đồng bộ với máy chủ từ xa
- 5 5. Các tùy chọn rsync hữu ích và ví dụ thực tế
- 6 6. Công cụ GUI: Grsync
- 7 7. Các vấn đề thường gặp và giải pháp
- 8 8. Câu hỏi thường gặp
- 8.5.1 Q1. Làm sao để bảo toàn quyền sở hữu và quyền truy cập?
- 8.5.2 Q2. Làm sao để loại trừ các tập tin cụ thể?
- 8.5.3 Câu hỏi 3. Làm thế nào để giới hạn việc sử dụng băng thông?
- 8.5.4 Câu hỏi 4. Tôi có thể xem trước các hành động trước khi thực thi không?
- 8.5.5 Câu hỏi 5. Các tệp ẩn có được sao chép không?
- 8.5.6 Câu hỏi 6. Sự khác nhau giữa rsync và scp là gì?
- 9 9. Tóm tắt
1. Giới thiệu
rsync là gì?
rsync là một công cụ dòng lệnh được thiết kế để đồng bộ và sao chép tệp và thư mục một cách nhanh chóng và hiệu quả. Nó được sử dụng rộng rãi trên các hệ thống Linux và Unix‑like, và nhờ thuật toán truyền tải delta, chỉ truyền những phần khác nhau giữa nguồn và đích. Điều này giúp nó rất hiệu quả ngay cả khi xử lý một lượng lớn tệp. Trên Ubuntu và nhiều bản phân phối Linux khác, rsync thường được cài đặt sẵn, trở thành công cụ thiết yếu cho các quản trị viên hệ thống và nhà phát triển.
Lợi ích khi dùng rsync trên Ubuntu
Trên Ubuntu, rsync cực kỳ hữu ích cho việc sao lưu tệp hàng ngày và đồng bộ thư mục. Không cần giao diện đồ họa, bạn có thể thực hiện truyền tệp nhanh—cả cục bộ và từ xa—chỉ bằng vài lệnh trong terminal.
Nó đặc biệt hữu dụng trong các trường hợp sau:
- Sao lưu định kỳ lên ổ HDD ngoài hoặc thiết bị NAS
- Đồng bộ thư mục dự án trong quá trình phát triển
- Triển khai tệp lên máy chủ từ xa
- Tăng tính sẵn sàng bằng cách sao chép (mirroring) tệp
rsync khác gì so với các lệnh khác
So với lệnh cp, rsync chỉ truyền những phần khác nhau giữa nguồn và đích, giảm đáng kể thời gian xử lý. So với scp, rsync hỗ trợ tiếp tục truyền sau lỗi và kiểm soát băng thông linh hoạt. Ngoài ra, nó còn có thể bảo toàn các thuộc tính tệp như quyền sở hữu, quyền truy cập và dấu thời gian, đây là một ưu điểm lớn.
Mục đích của bài viết này
Bài viết này giải thích cách cài đặt và sử dụng rsync một cách hiệu quả trong môi trường Ubuntu, kèm theo các ví dụ lệnh thực tế và các trường hợp sử dụng thực tế. Để người mới bắt đầu có thể nhanh chóng làm quen, chúng tôi cũng sẽ đề cập đến các công cụ GUI và các mẹo khắc phục sự cố khi học rsync từng bước.
2. Cài đặt rsync trên Ubuntu
Kiểm tra rsync đã được cài sẵn chưa
Trong hầu hết các môi trường Ubuntu, rsync đã được cài đặt sẵn theo mặc định. Bạn có thể kiểm tra bằng lệnh sau:
rsync --version
Nếu hiển thị thông tin phiên bản, rsync đã sẵn sàng để sử dụng.
Cài đặt rsync nếu chưa có
Nếu bạn nhận được thông báo như “command not found” hoặc “rsync: command not found”, hãy thực hiện các bước sau để cài đặt:
- Cập nhật danh sách gói:
sudo apt update
- Cài đặt rsync:
sudo apt install rsync
- Xác minh việc cài đặt:
rsync --version
Nếu xuất hiện thông tin phiên bản, việc cài đặt đã thành công.
Cần cài đặt qua Snap hay các phương pháp khác không?
Trên Ubuntu, cài đặt rsync qua APT là cách được khuyến nghị nhất. Mặc dù có các gói Snap, phiên bản APT thường đủ cho hầu hết các nhu cầu và mang lại độ ổn định, tương thích tốt hơn. Trừ khi bạn có lý do đặc biệt, APT là phương pháp ưu tiên.
Lưu ý khi cài đặt
- Trên các phiên bản Ubuntu cũ, có thể cần cập nhật kho lưu trữ.
- Cần quyền root, vì vậy đừng quên dùng
sudo. - Kết nối mạng không ổn định có thể gây lỗi cài đặt; nên dùng kết nối ổn định.
3. Sử dụng cơ bản của rsync
Cú pháp rsync cơ bản
Cú pháp lệnh rsync đơn giản nhưng rất linh hoạt. Dạng cơ bản là:
rsync [options] source destination
Ví dụ, để sao chép nội dung của /home/user/documents/ vào /mnt/backup/:
rsync -av /home/user/documents/ /mnt/backup/
Lệnh này sử dụng các tùy chọn sau:
-a: Chế độ Archive (giữ nguyên cấu trúc thư mục, quyền, sở hữu, v.v.)-v: Hiển thị chi tiết (cho biết tệp nào đang được sao chép)
Hành vi của dấu gạch chéo cuối cùng
Trong rsync, việc có hoặc không có dấu gạch chéo (slash) ở cuối đường dẫn nguồn sẽ thay đổi cách hoạt động:
/home/user/documents/(có slash) → Chỉ sao chép nội dung bên trong./home/user/documents(không slash) → Sao chép cả thư mụcdocumentsitself.
.
Đây là một hành vi quan trọng của rsync, cần được sử dụng một cách thích hợp tùy theo mục tiêu của bạn.
Các tùy chọn thường được sử dụng
| Option | Description |
|---|---|
-a | Archive mode (recursive and preserves attributes) |
-v | Displays detailed transfer output |
-n | Dry run (shows what would happen without executing) |
--progress | Shows transfer progress |
--delete | Deletes files in the destination that no longer exist in the source |
Xem trước các hành động trước khi thực thi
Để kiểm tra những gì rsync sẽ làm trước khi thực sự chuyển tập tin, hãy sử dụng tùy chọn --dry-run:
rsync -av --dry-run /home/user/documents/ /mnt/backup/
Điều này giúp ngăn ngừa mất dữ liệu do nhầm lẫn.
Xử lý các tập tin ẩn
Mặc định, rsync bao gồm các tập tin ẩn (những tập tin bắt đầu bằng .), cho phép đồng bộ các tập tin cấu hình và các thiết lập môi trường.
4. Đồng bộ với máy chủ từ xa
Đồng bộ từ xa qua SSH
Một trong những ưu điểm lớn nhất của rsync là khả năng đồng bộ tập tin với máy chủ từ xa qua SSH, đảm bảo việc truyền dữ liệu an toàn.
rsync -avz source user@remote_host:destination
Ví dụ:
rsync -avz /home/user/documents/ user@example.com:/var/www/backup/
-zbật nén trong quá trình truyền.user@hostchỉ định tài khoản SSH.
Kết nối lần đầu và xác thực bằng khóa SSH
Lần kết nối đầu tiên, bạn có thể được yêu cầu xác nhận tính xác thực của máy chủ. Nhập “yes” nếu đúng.
Đối với việc sử dụng thường xuyên, nên dùng xác thực bằng khóa SSH để tránh nhập mật khẩu mỗi lần:
ssh-keygen -t rsa
ssh-copy-id user@example.com
Chỉ định cổng SSH tùy chỉnh
Nếu máy chủ từ xa sử dụng cổng SSH không phải mặc định, hãy chỉ định nó bằng -e:
rsync -avz -e "ssh -p 2222" /home/user/documents/ user@example.com:/var/www/backup/
Lưu ý quan trọng về đồng bộ hai chiều
rsync chỉ thực hiện đồng bộ một chiều. Để có đồng bộ hai chiều thực sự, hãy cân nhắc các công cụ như unison.
5. Các tùy chọn rsync hữu ích và ví dụ thực tế
Các tùy chọn nâng cao vượt ra ngoài cơ bản
–delete: Xóa các tập tin không có trong nguồn
rsync -av --delete /home/user/source/ /mnt/backup/
Luôn thử nghiệm với --dry-run trước khi sử dụng tùy chọn này.
–exclude: Loại trừ các tập tin hoặc thư mục cụ thể
rsync -av --exclude '*.log' --exclude 'node_modules' /project/ /backup/
–bwlimit: Giới hạn băng thông
rsync -av --bwlimit=5000 /data/ user@remote:/data/
Các trường hợp sử dụng thực tế
Sử dụng rsync để sao lưu
rsync -a --delete /home/user/ /media/usb/backup/
Tự động hoá với cron
0 2 * * * rsync -a /home/user/ /mnt/backup/ >> /var/log/rsync.log 2>&1
Cân bằng giữa tính linh hoạt và hiệu suất
rsync kết hợp tính linh hoạt xuất sắc với hiệu suất truyền tải cao, biến nó thành một công cụ mạnh mẽ cho việc đồng bộ tập tin an toàn và chính xác.
6. Công cụ GUI: Grsync
Được khuyến nghị cho người dùng không thoải mái với dòng lệnh
Grsync là giao diện đồ họa cho rsync, cho phép người dùng cấu hình và thực thi các tác vụ đồng bộ một cách trực quan.
Cài đặt Grsync trên Ubuntu
sudo apt update
sudo apt install grsync

Sử dụng cơ bản
- Chỉ định đường dẫn nguồn và đích
- Chọn các tùy chọn rsync qua các ô kiểm
- Cấu hình các mẫu loại trừ
- Thực hiện chạy khô (dry run) một cách an toàn
Quản lý dựa trên hồ sơ
Grsync cho phép lưu cấu hình dưới dạng hồ sơ, giúp dễ dàng quản lý nhiều tác vụ sao lưu hoặc đồng bộ khác nhau.
Ưu và nhược điểm
| Pros | Cons |
|---|---|
| Intuitive GUI, no commands required | Some advanced options are not available |
| Easy to understand options | Less detailed output than terminal usage |
| Safe for beginners | Less flexible than direct rsync usage |
7. Các vấn đề thường gặp và giải pháp
Quyền tập tin không được bảo toàn
sudo rsync -a /source/ /destination/
Liên kết biểu tượng không được xử lý như mong đợi
- Bảo toàn liên kết: dùng
-a - Sao chép các tập tin thực: dùng
--copy-links
Lỗi “Permission denied”
sudo rsync -a /source/ /destination/
Lỗi kết nối khi đồng bộ từ xa
- Kiểm tra kết nối SSH
- Kiểm tra đường dẫn đích và quyền truy cập
Lỗi “Argument list too long”
- Sử dụng quy tắc include/exclude
- Chia đồng bộ thành các lô nhỏ hơn
8. Câu hỏi thường gặp
Q1. Làm sao để bảo toàn quyền sở hữu và quyền truy cập?
A. Dùng tùy chọn -a.
Q2. Làm sao để loại trừ các tập tin cụ thể?
A. Sử dụng --exclude.
Câu hỏi 3. Làm thế nào để giới hạn việc sử dụng băng thông?
A. Sử dụng --bwlimit.
Câu hỏi 4. Tôi có thể xem trước các hành động trước khi thực thi không?
A. Sử dụng --dry-run.
Câu hỏi 5. Các tệp ẩn có được sao chép không?
A. Có, mặc định.
Câu hỏi 6. Sự khác nhau giữa rsync và scp là gì?
A. rsync hỗ trợ chuyển đổi delta và khả năng tiếp tục, giúp hiệu quả hơn.
9. Tóm tắt
Bài viết này đã đề cập đến cài đặt rsync, sử dụng cơ bản và nâng cao, đồng bộ từ xa, công cụ GUI, khắc phục sự cố và các câu hỏi thường gặp.
Tại sao rsync lại quan trọng
- Chuyển đổi nhanh dựa trên delta
- Bảo toàn quyền truy cập và sở hữu
- Đồng bộ từ xa an toàn
- Tùy chỉnh cao với nhiều tùy chọn
- Hỗ trợ tự động hoá qua cron
- Thân thiện với người mới qua công cụ GUI
rsync là công cụ cơ bản cho người dùng Linux. Bằng cách nắm vững các kiến thức cơ bản và dần dần áp dụng các tùy chọn nâng cao, bạn có thể đạt được quy trình quản lý tệp và sao lưu ở mức chuyên nghiệp.


