Cách dùng rsync để tiếp tục (resume) file truyền bị gián đoạn
Bạn đang truyền một file dung lượng lớn qua lệnh scp
và kết nối mạng đột ngột bị ngắt? Thật khó chịu khi phải bắt đầu lại từ đầu. Bài viết này sẽ hướng dẫn bạn cách sử dụng công cụ rsync
mạnh mẽ để tiếp tục quá trình truyền file ngay tại điểm bị gián đoạn.
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:
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
để tiếp tục.
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 lệnh rsync
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
.
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õ:
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.