Cách tốt nhất để tiếp tục dừng di chuyển (mv) bằng cách hợp nhất các thư mục?


18

Tôi đã chuyển (mv) một thư mục khá lớn trên NAS (dựa trên Linux), nhưng phải làm gián đoạn thủ tục. Không phải là người dùng Linux thông thường, mặc dù tôi chỉ có thể tiếp tục và hợp nhất phần còn lại sau này.

mv /oldisk/a /newdisk

Quy trình được thực hiện một nửa, vì vậy phần còn lại của / oldisk / a vẫn tồn tại và / newdisk / a với các tệp đã được sao chép đã có sẵn. Tôi không biết tập tin nào đã được sao chép. Tất nhiên, BTW, dưới / oldisk / a, có rất nhiều thư mục con.

Điều gì sẽ là cách tốt nhất để di chuyển / hợp nhất các tệp còn lại vào / newdisk / a?

Câu trả lời:


28

rsync --verbose --archive --dry-run /oldisk/a/ /newdisk/a/

Các --dry-run(hoặc -n) sẽ làm một chạy khô, hiển thị cho bạn những gì nó sẽ làm gì mà không thực sự làm gì cả.

Nếu nó trông ổn, hãy chạy rsync mà không có -ntùy chọn.

Đây sẽ là một bản sao, không phải là một động thái, không hoàn toàn là những gì bạn đang làm, nhưng an toàn hơn. Các--archive (hoặc -a) đảm bảo tất cả các quyền sở hữu và timestamps siêu dữ liệu được bảo tồn (trong đó một bản sao thường xuyên sẽ không).


2
Sao chép là OK, luôn có thể loại bỏ thư mục cũ sau này.
Horst Walter

4
Bạn có thể sử dụng --remove-source-filesđể xóa các tập tin đã được sao chép thành công. Ngoài ra, -Phoặc --progresssẽ hiển thị ước tính có bao nhiêu tệp phải làm.
deltab

1
như một ví dụ về một động thái:rsync --remove-source-files --recursive --times --crtimes 1/* 2/
Sridhar Sarnobat

1
@deltab, --proceed vẽ một thanh mới cho mỗi tệp riêng lẻ, thay vào đó là --info = Progress2 cho toàn bộ tranfer.
把 友情 留 盐

Wow, thật là buồn. Mv chắc chắn bị hỏng rằng nó cần các công cụ khác để làm những gì nó có thể tự làm. Tôi mới phát hiện ra điều này, mv từ chối viết vào một thư mục hiện có, điều này khá thảm hại. Thời gian để thay thế lệnh này với một cái gì đó chức năng hơn.
nigratruo
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.