Tiếp tục hủy bỏ cp


17

Có thể chạy cplại sau khi nó bị hủy bỏ và làm cho nó bắt đầu ở nơi nó kết thúc lần trước (không ghi đè lên dữ liệu đã được sao chép, chỉ sao chép những gì còn sót lại)?

Câu trả lời:


32

Những trường hợp như thế này đã dạy tôi sử dụng rsynctừ đầu. Tuy nhiên trong trường hợp của bạn, bạn có thể sử dụng rsync ngay bây giờ. Nó sẽ chỉ sao chép dữ liệu mới, bao gồm cả nếu cpdừng một nửa thông qua một tệp lớn.

Bạn có thể sử dụng nó giống như cp, như thế này:

rsync --append /where/your/copying/from /where/you/want/to/copy

3
Hoặc --append-verifyđể so sánh tổng kiểm tra ở cuối chỉ để chắc chắn.
Zaz

7

Sử dụng công tắc -u và xem trang man cp.


nhưng các tệp nguồn không thay đổi hoặc bất cứ điều gì
Phil

1
-u chỉ dành cho 'cập nhật' ... tức là: nó sẽ không ghi đè lên các tệp hiện có ở đích nếu chúng giống nhau hoặc mới hơn ...
ericslaw

2
Nếu bạn sử dụng -u, thì nó sẽ sao chép cùng một tệp lớn. -u chỉ giúp nếu bạn đang cố gắng tiếp tục một bản sao đệ quy lớn.
Rory

7

Trong trường hợp bị hủy bỏ cplà một bản sao đệ quy, bạn có thể muốn tiếp tục với rsync bao gồm tùy chọn --recursive.

Thí dụ

Lệnh sao chép bị hủy bỏ:

cp -r source-directory destination-directory

Chúng ta hãy giả sử rằng destination-directoryđã tồn tại, để lệnh sao chép này tạo ra một thư mục có tên source-directory bên trong destination-directory . Điều này có thể được nối lại thông qua:

rsync --recursive --append source-directory destination-directory

Lưu ý rằng dấu gạch chéo có ý nghĩa chính xác trong tùy chọn đường dẫn rsync.

Trong trường hợp này, lệnh sao chép có thể đã nhận được đối số source-directoryhoặc source-directory/, nó không tạo ra sự khác biệt. Tuy nhiên, trong lệnh rsync, nó phải source-directory không có dấu gạch chéo .


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.