Chuyển tệp qua kết nối SSH không ổn định


23

Tôi đang cố tải lên một số tệp lớn (khoảng 10 GB) với tốc độ tải lên chậm (200kb / giây) trên kết nối SSH thường bị ngắt kết nối (do điều kiện mạng kém).

Tôi đang cố gắng sử dụng scp, nhưng nếu có cách tốt nhất qua SSH, tôi sẽ ổn với nó.

Cách tốt nhất để làm điều đó là gì?

Tôi đã cố gắng chia nó thành nhiều phần bằng cách sử dụng split, nhưng nó không thực sự hiệu quả vì nó đòi hỏi nhiều công việc thủ công trước và sau khi nó được chuyển giao.


2
rsync tốt hơn. Nó có thể khởi động lại - có nghĩa là bạn có thể tiếp tục nơi bạn rời đi nếu kết nối của bạn bị ngắt kết nối. Có lẽ bạn sẽ muốn sử dụng --partialcờ. Và theo mặc định, nó chạy qua ssh. Bạn có thể kết hợp với một chương trình nén tích cực như 7z, nhưng bạn sẽ cần nhiều bộ nhớ và sẽ vẫn mất một lúc.
Faheem Mitha

Tôi đã thử với - một phần, nhưng nó chỉ xuất hiện trên ...
blue112 30/03/2015

"Sao hơn"? Ý bạn là bắt đầu lại? Đây là những lá cờ tôi sử dụng : rsync -abvz --partial. Bạn có thể hiển thị một phiên ví dụ?
Faheem Mitha

@FaheemMitha Tôi đã cố gắng tái tạo nó, nhưng dường như nó đang hoạt động ngay bây giờ ...
blue112

Không thể tiếp tục tải lên với scp. Có thể tiếp tục tải lên với rsync --partial. Không thể tiếp tục tải lên với sftp. Đối với một hướng khác, tức là tải khôi phục, bạn có thể sử dụng rsync --partial, sftp regethoặc sftp get -a.
pts

Câu trả lời:


32

Sử dụng rsync với tùy chọn --partial

rsync -av --partial sourcedir user@desthost:/destinationdir

--Partial sẽ giữ các tập tin được chuyển một phần. Khi bạn tiếp tục chuyển rsync sau khi kết nối ssh bị hỏng, các tệp được chuyển một phần sẽ bắt đầu tiếp tục từ điểm kết nối ssh bị mất và các tệp được chuyển thành công sẽ không được chuyển lại.

Cũng xem xét chuyển trong tùy chọn -z nếu bạn tin rằng (các) tệp bạn đang truyền có thể được nén đáng kể; ví dụ, các tệp nhật ký bao gồm văn bản lặp đi lặp lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.