Làm thế nào để tạm dừng / tiếp tục chuyển các tập tin lớn?


23

Gần đây tôi đã phải sao chép khoảng 20 GB dữ liệu được phân chia giữa khoảng 20 tệp từ máy tính xách tay của tôi sang ổ cứng ngoài. Vì thao tác này mất khá nhiều thời gian (ở mức ~ 560kb / giây), tôi đã tự hỏi liệu có cách nào để tạm dừng chuyển khoản và tiếp tục lại sau không (trong trường hợp, tôi cần phải gián đoạn quá trình chuyển). Là một câu hỏi phụ, có sự khác biệt về hiệu năng giữa sao chép từ thiết bị đầu cuối so với sao chép từ Nautilus không?

Câu trả lời:


21

Tôi khuyên bạn nên sử dụng rsync .

Thí dụ:

rsync -a --append source-file destination

Nếu bạn muốn xem tiến trình, thêm --progresstùy chọn vào lệnh.

văn bản thay thế


4
Các -Nối tùy chọn có vẻ là lynch-pin vào "Tiếp tục" ... nhưng có một cách thanh lịch để "Tạm dừng" rsync , trừ Ctrl + C? ... và có thể rsync tiếp tục chính xác, sau khi một cái gì đó kịch tính .. ví dụ. mất điện?
Peter.O

Nếu đến từ google vào năm 2016, một cách sẽ là khởi chạy lệnh rsync dưới dạng một quá trình từ python hoặc tương tự và theo dõi quá trình trong khi đọc đầu ra của nó. Sau đó, bạn có thể kích hoạt tín hiệu SIG / chống lại quá trình. Một tập tin sh sẽ có thể làm điều này tôi nghĩ
Angry 84

3

Câu trả lời ngắn, không cần cài đặt, để tạm dừng sử dụng kill -STOP PID
để tiếp tục tạm dừng quá trình sử dụng kill -CONT PID
trong đó PID là ID tiến trình. bạn có thể nhận được PID bằng cách chạy màn hình hoặc toplệnh hệ thống


2

Tôi chỉ có thể trả lời phần về sự khác biệt giữa thiết bị đầu cuối và nautilus. Tôi đã kiểm tra nhiều lần này. Nó xuất hiện sao chép từ thiết bị đầu cuối nhanh hơn bất kỳ cách đồ họa như nautilus. Ít nhất trong trường hợp của tôi, khi tôi sao chép khoảng 32 GB thông tin, sẽ mất khoảng 3 đến 5 phút từ thiết bị đầu cuối so với nautilus từ bản sao 25 ​​phút. đó là khoảng 10% -20% thời gian. Về cách để tiếp tục một bản sao cho đơn vị bên ngoài của bạn, tôi nghĩ curlhoặc rsyncsẽ tiếp tục một bản sao thất bại. Ít nhất là với lệnh cp. Tôi đã không thử bản thân mình (tôi sẽ thử vào ngày mai) nhưng hai cái này có thể hoạt động.

Đối với curl bạn cần aptitude install curlhoặc apt-get instal curlvì nó không đi kèm với Ubuntu theo mặc định.

Sử dụng curl --helphoặc rsync --helpđể tìm hiểu thêm. Ngày mai tôi sẽ chỉ cho bạn cách sao chép bằng cả hai nếu bạn không tìm được đường.

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.