Làm cách nào tôi có thể tự động chuyển tất cả nội dung của hai ổ đĩa?


2

Tôi có hai, gần đầy, ổ cứng ngoài có kích thước bằng nhau.

Tôi muốn chuyển tất cả nội dung từ ổ đĩa này sang ổ đĩa khác và ngược lại.

Có cách nào để thực hiện việc này một cách tự động, mà không phải truyền tệp thủ công và liên tiếp giữa hai ổ đĩa cho đến khi tất cả nội dung đã được chuyển đổi?

Tức là, có một chương trình hoặc lệnh mà tôi có thể tự chạy cho đến khi ổ 1 chứa tất cả nội dung của ổ 2 và ổ 2 chứa tất cả nội dung của ổ 1 không?

Tôi có quyền truy cập vào cả Windows và Linux, nhưng không phải là trung gian để tạm thời lưu trữ dữ liệu của một ổ đĩa.


Hỏi bất kỳ bạn bè hoặc người quen nào của bạn mượn ổ USB ngoài của họ, sau đó thực hiện XCOPY hoặc sao chép phân vùng. Điều này dễ dàng hơn nhiều, nhanh hơn và ít xảy ra lỗi hơn bất kỳ 'di chuyển một số tệp sang A, di chuyển một số tệp sang B, di chuyển nhiều tệp hơn sang kịch bản A, ...' - thậm chí là tự động.
Jan Doggen

Tôi sợ đó là lựa chọn duy nhất và vì không ai có một ổ đĩa duy nhất có đủ dung lượng trống, tôi đã tìm kiếm các lựa chọn thay thế. Những lỗi bạn đang đề cập, giả sử kiểm tra băm sẽ được thực hiện trong quá trình chuyển?
John Smith

Câu trả lời:


0

Vì đây là một câu hỏi trùng lặp , kịch bản nhỏ này của bytebuster có thể giúp ích. Nó chỉ đơn giản là di chuyển các tập tin qua lại giữa các ổ X: và Y: vào Y: \ fromX và X: \ fromY cho đến khi hết dung lượng trống trên ổ đĩa đích hiện tại, sau đó chuyển nguồn / mệnh cho đến khi không có dir nào ngoại trừ Y: \ fromX và X: \ fromY.

Tất nhiên, nó sẽ chỉ hoạt động nếu không có ổ đĩa nào chứa các tệp lớn hơn tổng dung lượng trống trên cả hai ổ đĩa và nó có thể không hoạt động ngay cả khi đó (do thứ tự tệp và nó là một tập lệnh thực sự đơn giản). Để hoạt động an toàn, nó cần mỗi ổ đĩa có không gian trống lớn hơn tệp lớn nhất được truyền.

Nó thực sự đơn giản và nếu bạn thích Linux, bạn có thể dễ dàng viết lại bằng bash / rsync rsync --remove-source-files --exclude=dirthay vì robocopy /MOVE /XD dir.


Khi tôi cố gắn cờ nó là một bản sao, tôi nhận được thông báo lỗi 404. Nó trông giống như những gì được mô tả trong câu hỏi này tại SO.
John Smith

0

Tôi sử dụng Unison để thực hiện loại đồng bộ hóa này. Nó được xây dựng trên đầu rsyncgiao thức. Trong số các sử dụng khác, tôi giữ các thư mục tài liệu của mình đồng bộ giữa Windows và Linux. Thay đổi xung đột cần được xử lý thủ công, nhưng việc xóa được xử lý thông minh.

Lần chạy đầu tiên sẽ mất một lúc, sau đó chỉ cần xử lý các thay đổi.

EDIT: Tôi đọc sai yêu cầu ban đầu của bạn. Theo tôi, đây là một yêu cầu kỳ lạ, trừ khi vì một lý do nào đó bạn có các tệp bạn muốn di động trên một ổ đĩa lớn hơn và các tệp bạn không muốn di động trên một ổ đĩa khác. Không có không gian trung gian cũng lạ.

Nếu các tệp trên một trong hai đĩa có thể nén được, thì việc tạo một tệp lưu trữ nén (zip, tar, v.v.) của một ổ đĩa vào hệ thống của bạn, di chuyển các tệp giữa các ổ đĩa, sau đó khôi phục kho lưu trữ ban đầu sang ổ đĩa khác sẽ hoạt động. Ngoài ra, nén tệp trên cả hai đĩa bằng gzip. Di chuyển tập tin qua lại và giải nén.

Nếu bạn muốn di chuyển tệp đến A, di chuyển tệp sang B, di chuyển tệp sang A ... thì chỉ rsyncvới quy tắc tìm có thể làm những gì bạn cần. Một kịch bản shell nhỏ xung quanh nó để chuyển hướng trên mỗi đường chuyền sẽ được yêu cầu. Các thư mục trên cả hai hệ thống sẽ cần phải khác nhau. Bạn có thể phải sắp xếp lại / đổi tên thư mục để di chuyển.


Tôi có thể đã mơ hồ trong câu hỏi mở đầu của mình, nhưng tôi đang tìm một công cụ thực hiện những gì Jan Doggen đã mô tả: 'di chuyển một số tệp sang A, di chuyển một số tệp sang B, di chuyển nhiều tệp hơn sang A, ...'. Unison có hỗ trợ điều đó không? Từ những gì tôi có thể hiểu, đó là một công cụ đồng bộ hóa được sử dụng để làm cho hai thư mục / ổ đĩa giữ cùng một thông tin.
John Smith

@JohnSmith Đọc sai yêu cầu ban đầu của bạn có vẻ hạn chế một cách vô lý và có khả năng thất bại do có một tệp lớn hơn tự do. Tôi đã đưa ra một vài lựa chọn.
BillThor
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.