Việc truyền một file dung lượng lớn qua mạng không ổn định có thể bị gián đoạn, gây lãng phí thời gian khi phải bắt đầu lại từ đầu. May mắn là, công cụ rsync mạnh mẽ cung cấp một giải pháp hiệu quả để tiếp tục (resume) quá trình truyền file ngay tại điểm bị lỗi, thay thế cho lệnh scp
truyền thống.
Bài viết này sẽ hướng dẫn bạn cách thực hiện chi tiết.
1. So sánh nhanh: scp và rsync
Cả hai đều là công cụ truyền file qua SSH, nhưng có sự khác biệt lớn về chức năng:
2. Tình huống: Truyền file bằng scp
và bị lỗi
Giả sử bạn đang cố gắng sao chép file large-backup.tar.gz
đến máy chủ từ xa bằng lệnh:
Khi quá trình đang chạy giữa chừng thì kết nối mạng của bạn bị mất. Thay vì chạy lại lệnh scp
từ đầu, chúng ta sẽ dùng rsync
.
3. Giải pháp: Dùng rsync
để tiếp tục truyền file
Hãy mở lại terminal và thực hiện lệnh sau:
rsync
sẽ kiểm tra file đã có một phần ở máy chủ đích và chỉ truyền những phần còn thiếu, giúp bạn tiết kiệm rất nhiều thời gian.
Giải thích các tham số lệnh
Hãy cùng phân tích các cờ lệnh quan trọng đã được sử dụng:
-a
(archive): Bật chế độ lưu trữ, tương đương với-rlptgoD
. Nó sẽ giữ nguyên các thuộc tính của file như quyền hạn, chủ sở hữu, dấu thời gian, v.v.-v
(verbose): Hiển thị chi tiết quá trình thực hiện.-P
: Đây là cờ lệnh rất hữu ích, nó là sự kết hợp của--progress
(hiển thị tiến trình) và--partial
(giữ lại các file được truyền dở dang). Đây chính là yếu tố then chốt giúprsync
có thể tiếp tục truyền file.--rsh=ssh
: Chỉ định rằngrsync
phải sử dụng giao thức SSH để kết nối, đảm bảo quá trình truyền file được mã hóa và an toàn, tương tự nhưscp
.
4. Mẹo: Tạo Alias để sử dụng nhanh
Để không phải gõ lại lệnh dài mỗi lần, bạn có thể tạo một lệnh tắt (alias) trong file cấu hình shell của mình (ví dụ: ~/.bashrc
hoặc ~/.zshrc
).
Thêm dòng sau vào cuối file:
Lưu file lại và chạy lệnh source ~/.bashrc
(hoặc source ~/.zshrc
). Từ lần sau, bạn chỉ cần gõ:
5. Kết luận
Trong khi scp
là lựa chọn tuyệt vời cho việc sao chép nhanh các file nhỏ, rsync
mới thực sự là công cụ chuyên nghiệp cho các tác vụ truyền file lớn hoặc trên các đường truyền không ổn định. Khả năng tiếp tục phiên bị lỗi của nó là một cứu cánh thực sự giúp tiết kiệm thời gian và công sức.