Làm cách nào để sao chép một khối lượng Mac bằng cp?


13

Tôi đã nghiên cứu điều này trong nhiều giờ. Trong Chế độ người dùng đơn, tôi đã sử dụng:

cp -Rpvn /* /Volumes/MyBackup

USB ngoài của tôi được gắn vào /Volumes/MyBackup

Tuy nhiên, vấn đề là sau 24 giờ, nó vẫn không ngừng sao chép 300GB dữ liệu vào ổ USB ngoài. Tôi nghĩ rằng nó có vấn đề với các liên kết tượng trưng như /Volumes/MacHDâm lượng cũng có một /Volumes/MacHD/Volumes/MyBackuptôi không chắc chắn về điều này tuy nhiên.

Làm cách nào để sao chép một tập Mac bằng cách sử dụng cp? Là cp -Rpvn /* /Volumes/MyBackup có đúng không?


2
Bạn sử dụng cp như thế này, nhưng nó không phải là công cụ chính xác cho công việc. Bạn cần rsync cho việc này.
CousinCocaine

1
Bạn có khả năng chạy mac ở chế độ đĩa đích không? Hoặc có lẽ chỉ cần bật ra HD?
CousinCocaine

Tôi không thể thực hiện chế độ đích vì tôi không có máy mac thứ hai. Tôi đã hy vọng cho một lựa chọn ít rủi ro hơn là lấy ra ổ đĩa.
ermSO

rsync có lẽ là tùy chọn tốt nhất của bạn ở đây, mặc dù tôi nghĩ bạn cũng có thể sử dụng ddđể tạo một byte cho bản sao byte của ổ cứng Mac.
thibmaek

1
ddlà cách để sao lưu từng khu vực, có vẻ giống như những gì bạn đang làm ở đây (nhưng hãy cẩn thận với nó, để đảm bảo rằng điều bạn ghi đè thực sự là điều bạn muốn ghi đè lên). rsynclà cách để thực hiện các hoạt động sao chép phức tạp hoặc lớn. cplà tuyệt vời cho các tệp riêng lẻ, nhưng không tốt cho các hoạt động quy mô lớn.
cpast

Câu trả lời:


25

Sử dụng rsynccho mục đích này vì cpkhông thể sao chép một cách trung thực tất cả các tệp tồn tại trên OS X. Lợi ích của rsynchơn dittocplà:

  • chuyển bị gián đoạn có thể khởi động lại dễ dàng với rất ít chi phí.
  • khởi động lại thậm chí tiếp tục một phần thông qua một tập tin lớn.
  • loại trừ tệp và --dry-run cho phép dễ dàng kiểm tra và lặp đi lặp lại.

Cách đơn giản nhất để sử dụng rsyncvà bảo quản hầu hết mọi thứ (quyền, liên kết tượng trưng, ​​ngày chỉnh sửa, v.v.) là sử dụng -ahoặc --archivegắn cờ để lưu trữ. Để xem tiến trình của bạn sử dụng -Phoặc--progress

Rsync hoạt động như:

rsync options source destination

Trong trường hợp của bạn, tôi muốn giới thiệu như sau:

rsync --archive --verbose --one-file-system --human-readable --progress /from/ /to

Hay nói ngắn gọn:

rsync -avxhP /from/ /to

Tâm trí thiếu dấu gạch chéo trong /tovị trí.

xem ý kiến ​​cho cờ hữu ích hơn


6
Bạn cũng muốn cờ -x, để tránh truyền qua các ổ đĩa được gắn trên cùng một ổ đĩa.
Kent

kudo cho bmike để làm cho bài đăng này dễ đọc hơn nhiều.
CousinCocaine

2
-Plà thực sự tương đương với cả hai --progress--partialkết hợp. Xem trang người đàn ông .
kirb

1
Tôi bỏ qua --compress(nó chỉ hữu ích cho việc chuyển mạng) và thêm -E(bảo toàn các thuộc tính và nhánh tài nguyên mở rộng).
Gordon Davisson

5

Nếu bạn muốn tạo một bản sao trung thực của nội dung hệ thống tập tin, tránh sử dụng cp. Thay vào đó, hãy sử dụng ditto(1)lệnh bảo tồn các liên kết cứng, quyền tệp, nhánh tài nguyên và siêu dữ liệu HFS. Không giống như cp, dittocó nghĩa là để lưu giữ càng nhiều thông tin đó càng tốt theo mặc định.

Đó chỉ là vấn đề chạy .sudo ditto src dest


Sửa lỗi cho tôi nếu tôi sai, nhưng tôi khá chắc chắn cpđã được cập nhật để sao chép siêu dữ liệu tệp trong 10.4.
NobodyNada - Tái lập Monica

Đó là, nhưng dittovẫn là một lựa chọn tốt hơn.
juandesant

1
rsynclà lựa chọn tốt nhất.
CousinCocaine

2

Bạn đã quên tạo một danh sách các tệp loại trừ và có khả năng sao chép những thứ không thể / không nên sao chép, bao gồm các tệp không có đáy như / dev / ngẫu nhiên.

Trong khi cp có thể thực hiện công việc, có những công cụ tốt hơn. Rupync là một, Carbon Copy Cloner hoặc SuperDuper là một cái khác. Để sử dụng một sự tương tự nhà bếp, bạn đang sử dụng một con dao để mở một hộp. Rupync là dụng cụ mở hộp, Carbon Copy Cloner là dụng cụ mở hộp điện. Tôi sử dụng rsync thường xuyên, nhưng các cài đặt cần thiết để sao chép một hệ điều hành đang chạy đủ phức tạp Tôi chưa bao giờ bận tâm làm tất cả.

 cp -Rpvn /* /Volumes/MyBackup 

Có vẻ như tất cả những gì bạn muốn làm là tạo một bản sao lưu. Máy Mac của bạn bao gồm Time Machine rõ ràng cho mục đích này. Mở tùy chọn hệ thống -> Time Machine, chọn đĩa bên ngoài, bật nó lên và sau đó để yên. Nó hoạt động rất tốt và đòi hỏi dưới một phút thời gian của bạn.


Tôi không thể truy cập GUI. Tất cả những gì tôi có thể làm việc là Chế độ người dùng đơn, vì vậy CCC thời gian, siêu thanh và cỗ máy thời gian không phải là tùy chọn. Bạn sẽ sử dụng cài đặt nào với rsync? Lý tưởng nhất là tôi muốn một bản sao có thể khởi động. Tôi không thể làm asr để làm việc.
ermSO

1
@ermSO Vì rõ ràng bạn có ổ đĩa ngoài, hãy cài đặt HĐH mới ở bên ngoài và sau đó khởi động từ nó. Tất cả các máy Mac hiện tại có thể khởi động từ firewire hoặc USB. Sau đó, bạn có thể tạo một bản sao lưu tốt các tệp người dùng của mình và sau đó sửa chữa ổ đĩa trong của bạn. Tôi thường xóa hoàn toàn trong những trường hợp này, loại bỏ mọi vấn đề về thư mục còn lại.
paul

ddsẽ thực hiện các bản sao theo từng khu vực trên dòng lệnh và là một lựa chọn tốt để sao chép toàn bộ một tập vào toàn bộ tập khác trong khi xóa toàn bộ tập thứ hai.
cpast

Bạn có chắc chắn rằng bạn muốn -Rtùy chọn? Điều đó có nghĩa là nếu bạn có các liên kết tượng trưng đến một thư mục ở một vài nơi, bạn sẽ sao chép nội dung. Điều đó có thể giải thích thời gian đang dùng. Nếu bạn sử dụng dittothay thế, bạn sẽ nhận được những gì bạn muốn với cài đặt mặc định.
juandesant

1
@juandesant đó là mệnh lệnh của anh ấy, không phải của tôi. Tôi sẽ không sử dụng cp.
paul

0

Bạn có thể tạo bản sao lưu Time Machine từ dòng lệnh với tmutiltiện ích Time Machine. Bạn có thể đặt đích sau đó yêu cầu sao lưu thủ công.

Để đặt âm lượng sao lưu Time Machine:

sudo tmutil setdestination / Tập / MyBackup

Sau đó bắt đầu sao lưu:

khởi động lại tmutil --auto

Các --autolá cờ sẽ cố gắng đối xử với nó như một thời gian bình thường theo lịch trình sao lưu.

Khi bạn có bản sao lưu Time Machine, bạn có thể cài đặt lại OS X trên máy Mac, sau đó nhập tất cả các tệp của bạn từ bản sao lưu Time Machine.

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.