Có cách nào nhanh hơn để sao chép các tập tin máy thời gian từ đĩa này sang đĩa khác không?


15

Tôi đang cố gắng di chuyển tất cả các tệp sao lưu máy thời gian của mình trong Backups.backupdb sang ổ đĩa khác. Tôi đã bắt đầu một bản sao tệp qua đêm (b / c Tôi thấy rằng phải mất OSX mãi mãi để chuẩn bị cho bản sao ... về cơ bản nó đang đếm các tệp trong nhiều giờ). Vào buổi sáng tôi thấy rằng chỉ có một số bản sao lưu (thư mục có ngày) được sao chép. Sau đó tôi đã cố gắng sao chép những cái không được sao chép ... nhưng HĐH sẽ không cho phép tôi làm điều đó. Tôi đã nhận được và lỗi rằng "Không thể hoàn thành thao tác vì các mục sao lưu không thể sửa đổi." Vì vậy, kế hoạch của tôi là xóa bản sao chưa hoàn thành trên ổ đĩa mới và sau đó thử sao chép lại thư mục Backups.backupdb.

Khá bực bội. Có cách nào nhanh hơn để sao chép các tệp này thông qua lệnh đầu cuối để nó không thực hiện tất cả các chuẩn bị đếm tệp đó không?

Tôi có thể có thể lấy toàn bộ thư mục và sau đó thực hiện một bản sao, nhưng điều đó có ảnh hưởng đến bất kỳ quyền nào của tệp không, v.v.? Một điều với cách tiếp cận này là tôi không có thêm không gian trên khối lượng nguồn của mình cho tar.

CẬP NHẬT

Tôi đã thử một số phương pháp mà mọi người đã đề xuất bên dưới, cụ thể là sử dụng chức năng khôi phục của Disk Utility và nó mang lại cho tôi một số thông báo lỗi và kết quả không mong muốn (ít nhất là với tôi). Tôi đã cố gắng thực hiện khôi phục theo hai cách:

  • Khi đã chọn "Xóa đích": Mỗi lần (tôi đã thử hai lần), khi quá trình khôi phục kết thúc, tôi thấy một thông báo "Không thể khôi phục - Hoạt động không hợp lệ" và "Không thể khôi phục - Đối số không hợp lệ". Tuy nhiên, đĩa đích của tôi nhận được một bản sao của các tệp TM của tôi. Điều kỳ lạ là đĩa đích của tôi chính xác như đĩa nguồn của tôi ... thậm chí cả kích thước. Đĩa đích của tôi thực sự là 1 TB nhưng sau khi khôi phục, nó hiển thị là 200 GB khi tôi nhận được thông tin từ công cụ tìm. Nhưng trong Disk Utility, nó hiển thị phân vùng 1 TB!

Sau đó tôi đã cố gắng xác minh / sửa chữa đĩa và nhận được:

    Kích thước nút cây B không hợp lệ
    Kiểm tra khối lượng tạp chí HFS Plus.
    Kích thước nút cây B không hợp lệ
    Sửa chữa khối lượng hoàn tất.
    Cập nhật phân vùng hỗ trợ khởi động cho âm lượng theo yêu cầu.
    Lỗi: Disk Utility không thể sửa chữa đĩa này. Sao lưu càng nhiều tệp của bạn càng tốt, định dạng lại đĩa và khôi phục các tệp sao lưu của bạn.

Không biết liệu tôi thậm chí có thể xác minh / sửa chữa đĩa TM không ...

  • Với "Xóa đích" không được kiểm tra: Khôi phục không bao giờ bắt đầu và tôi nhận được:
    Không thể khôi phục - Thao tác không được phép


2
Tôi nghĩ rằng điều này rất tốt - câu hỏi khác giải quyết tải IO sao chép các liên kết cứng nhưng được gói gọn trong mạng và vỏ bọc của viên nang thời gian, vì vậy đây là trường hợp đặc biệt của vấn đề chung được hỏi ở đây.
bmike

Nếu bạn có thể nâng cấp lên MacOS 10.13.4+, lỗi ngăn bí danh / liên kết cứng sao chép trong Finder đã được sửa. Tôi đã thử tự mình sao chép một đĩa Time Machine dự phòng sang một đĩa khác và nó hoạt động hoàn hảo (và nó cũng khá nhanh). Thêm thông tin ở đây: apple.stackexchange.com/a/323691/261070 .
youngrrrr

Câu trả lời:


13

Một bản sao bình thường (hoặc sao chép qua rsync hoặc ditto) sẽ không sao chép hoàn toàn Time Machine vì nó sẽ chuyển đổi hai thư mục được liên kết với nhau (như xảy ra trong các bản sao lưu TM liên tiếp mà không thay đổi giữa) thành hai thư mục riêng biệt.

Cách tốt nhất là sao chép toàn bộ đĩa bằng Disk Utility hoặc phần sao chép khối của Cloner Carbon Copy và có thể tương tự trên SuperDuper .


1
Từ trang man ditto: "ditto bảo tồn các liên kết cứng tập tin (nhưng không phải liên kết cứng thư mục) có trong các thư mục nguồn" vì vậy không có trợ giúp ở đây. Đó là Disk Utility hoặc một công cụ như SuperDuper hoặc CCC.
nohillside

@patrix Cảm ơn - trang web người đàn ông nói gì về điều đó - CCC sử dụng ditto hoặc rsync để sao chép như vậy sẽ chỉ làm điều này nếu nó là một khối sao chép help.bombich.com/kb/troubleshooting/...
user151019

Đĩa nguồn của tôi chỉ chứa bản sao lưu Time Machine. Đĩa đích của tôi chứa các tệp khác. Tôi không muốn một bản sao của đĩa Nguồn của mình. Tôi chỉ muốn sao chép các tập tin Time Machine vào đĩa Destination.
milesmeow

3
Sau nhiều lần cố gắng sao chép các tệp TM của tôi sang một đĩa mới, Disk Utility và Carbon Copy Cloner cả DID KHÔNG làm thủ thuật. SuperDuper đã làm điều đó một cách hoàn hảo trong lần chạy đầu tiên và không làm giảm kích thước của phân vùng đích của tôi!
milesmeow

2
Một phiếu bầu khác cho SuperDuper! đây. v3.2.4 đã sao chép thành công một thư mục sao lưu Time Machine lớn sang một đĩa mới, trong macOS 10.14.2 Mojave, mà không mất thêm dung lượng. (Công cụ tìm kiếm không thể thực hiện được) Máy thời gian vui vẻ tiếp tục sử dụng đĩa mới như thể đó là ổ đĩa cũ.
chơi

5

Di chuyển toàn bộ ổ đĩa được mã hóa 3TB Time Machine sang ổ 8TB mới trên macOS 10.14, tôi gặp phải tất cả các vấn đề. Cố gắng thực hiện khôi phục trong Tiện ích ổ đĩa bị lỗi với không thể xác thực nguồn không thể xác thực nguồn hoặc không được phép Hoạt động. Không thử một số đề xuất khác trong bài đăng này và các đề xuất khác, tôi có thể nhận được thông báo lỗi mới thú vị như tệp Danh mục trên hình ảnh / âm lượng bị phân mảnh quá tệ, nhưng không có bản sao.

Những gì làm việc cuối cùng, tại thiết bị đầu cuối:

  1. Xóa đĩa mới với Disk Utility, khớp với định dạng của ổ đĩa nguồn: MacOS Extended (Nhật ký, Mã hóa)
  2. Sử dụng diskutil cs listtrong thiết bị đầu cuối để có được kích thước byte chính xác của Khối lượng logic trên ổ đĩa cũ và GUID của Khối lượng logic mới, cũng như số đĩa cho cả hai, ví dụ : disk4.
  3. Sử dụng kích thước byte chính xác từ bước 2 làm kích thước của ổ đĩa mới. Trong trường hợp của tôi với ổ đĩa 3TB, nó là 2.999.772.905.472 byte:

    sudo diskutil cs resizeVolume $new_lv_guid 2999772905472
    
  4. Sử dụng pvlệnh từ homebrew, thực hiện sao chép khối cấp thấp của các đĩa. Điều này rất giống với việc sử dụng dd, ngoại trừ bạn có được một máy đo tiến độ với ETA.

    Bạn cần lấy số đĩa từ diskutil cs listđầu ra. Hãy cẩn thận. Rất dễ dàng để vô tình ghi đè lên ổ đĩa sao lưu đầy đủ của bạn với ổ trống mới ở đây.

    sudo sh -c "$(which pv) --buffer-size 50M -s 2999772905472 < /dev/rdisk${source} > /dev/rdisk${target}"
    

    Nếu bạn nhận được quyền từ chối / thao tác không được phép lỗi ở đây, hãy vào Tùy chọn bảo mật & quyền riêng tư và thêm quyền truy cập toàn đĩa cho Terminal.app.

    Đối với tôi, việc này mất khoảng 10 giờ. Tôi đã để nó chạy qua đêm, nhưng, pvít nhất, bạn có được một máy đo tiến độ với ETA.

  5. Bây giờ, mở rộng âm lượng để chiếm hết dung lượng còn lại trên ổ đĩa:

    sudo diskutil cs resizeVolume $new_lv_guid 0
    

    Điều này mất ~ 3 giờ đối với tôi, với khoảng 5 năm sao lưu. Hầu hết thời gian đó được dành cho macOS fscking.

Bây giờ bạn có thể tận hưởng ổ đĩa Time Machine mới, rộng rãi hơn. Bạn có thể tái sử dụng cái cũ hoặc cất nó ở nơi an toàn trong trường hợp có điều gì đó xảy ra với ổ đĩa mới.


Các bước thay đổi kích thước dường như rất quan trọng; bỏ qua chúng dẫn đến một bản sao tệp 10 giờ mang lại một khối lượng 8TB chứa hệ thống tệp 3TB mà tôi không thể tìm ra cách thay đổi kích thước.


CẬP NHẬT Một nhược điểm tiềm năng của phương pháp này là bởi vì đó là bản sao bit-bit, các định danh giống nhau giữa đĩa cũ và đĩa mới. Nếu tôi kết nối toàn bộ đĩa cũ, Time Machine nghĩ rằng đó là đĩa mới, cố gắng sao lưu và bắt đầu xóa các bản sao lưu cũ để nhường chỗ cho những cái mới. Có vẻ như một cách tiếp cận tốt để di chuyển dữ liệu sang một đĩa lớn hơn, nơi đĩa nhỏ cũ hơn sẽ bị xóa sạch.


Chào Andrew! Cảm ơn bạn đã dành thời gian để nhập hướng dẫn từng bước này (và tôi hy vọng sẽ sử dụng nó để chuyển bản sao lưu 1TB của mình sang đĩa 4TB, cho đến nay vẫn chưa thành công vì các tệp và thư mục được sao chép của Finder chiếm quá nhiều không gian trên đĩa mới so với đĩa gốc). Câu hỏi của tôi cho bạn là: tôi có thể thực hiện các bước này mà không cần cs bật corest Storage không? Kích hoạt lưu trữ lõi dường như là một PITA có khả năng không cần thiết , nhưng có thể cần thiết vì bước hướng dẫn 3.
Michael Dautermann 19/12/18

@MichaelDautermann Core Storage là cần thiết cho FileVault, rất được khuyến khích cho các ổ đĩa sao lưu, để bảo vệ sự riêng tư của bạn trong trường hợp mất mát, trộm cắp hoặc xử lý không đúng cách.
andrew

Tôi muốn thêm rằng tôi không thể sao chép bằng phương pháp được đề cập. Lý do là hệ thống nhắc nhở rằng "hoạt động này không được phép". Sau một hồi tìm kiếm tôi đã phát hiện ra rằng tôi cần tắt tất cả các chức năng của SIP. Điều này có thể được thực hiện bằng cách khởi động lại macOS bằng cách giữ lệnh + R và mở một thiết bị đầu cuối. Tại đây bạn cần phải vô hiệu hóa bằng cách gõ "csrutil vô hiệu hóa". Với lần khởi động lại tiếp theo, tôi đã có thể sao chép bản sao lưu TM
Oliver Koehler

@andrew phiên bản của tôi là 10.14.6 và tôi hoàn toàn hiểu rủi ro bạn đã đề cập. Tuy nhiên, tôi không thể dd hoặc pv TimeMachine của mình - sao lưu mà không tắt SIP. Nếu có một cách khác tôi rất vui được nghe.
Oliver Koehler

Tôi liên tục nhận được "pv: write fail: Lỗi đầu vào / đầu ra" ở mức 99% (sau 30 giờ, 3 lần thử - thực sự là 90 giờ). Đĩa là vô song. Chức năng SIP bị vô hiệu hóa. Googling lỗi không đến với bất cứ điều gì. Tương tự như tình huống ban đầu (3TB -> 8TB). sudo sh -c "$(which pv) --buffer-size 50M -s 3000249008128 < /dev/rdisk3 > /dev/rdisk5"- 8tb trước đó đã được thay đổi kích thước thành côngResized Core Storage Logical Volume to 3,000,249,008,128 bytes
ks

2

Tại sao không chỉ sử dụng thiết bị đầu cuối:

cp -RnpP Backups.backupdb
  • -R đệ quy
  • -n không ghi đè (nếu tàn dư bản sao hiện tại vẫn còn từ lần thử trước)
  • -p giữ gìn ACL, quyền, ngày tạo / sửa đổi, v.v.
  • -P bảo tồn các liên kết cứng, không theo bất kỳ liên kết cứng hoặc symlink nào.

Đây không phải là sự thật. Đọc man cpcho macOS. Lệnh thông thường cpđược gửi cùng với macOS không sao chép các liên kết cứng với -P. Trang man thực sự nói "Lưu ý rằng cp sao chép các tệp được liên kết cứng thành các tệp riêng biệt. Nếu bạn cần giữ các liên kết cứng, hãy xem xét sử dụng tar (1), cpio (1) hoặc pax (1)."
chmac

0

Câu trả lời này sẽ không được thực hiện nhanh hơn, nhưng tôi đã tìm thấy một cách để sao chép dữ liệu đúng cách trong khi vẫn giữ được sự sao chép (liên kết cứng) và quyền. Như một phần thưởng bổ sung, tôi sử dụng phần này để tạo ra một dmg nén của sản phẩm cuối cùng để lưu trữ.

  1. Sử dụng tiện ích đĩa, tạo một hình ảnh đĩa lớn hơn thư mục Backups.backupdb của bạn. Tôi cũng đề nghị bạn sử dụng hình ảnh đĩa bó thưa thớt cho Định dạng hình ảnh và Đĩa cứng cho phân vùng. Sau khi hình ảnh này được gắn kết, Nhận thông tin về nó và bỏ chọn Bỏ qua quyền sở hữu trên tập này.

  2. Bây giờ hãy tắt Time Machine và sử dụng công cụ tìm sao chép thư mục Backups.backupdb vào hình ảnh được gắn. Công cụ tìm sẽ yêu cầu bạn cấp quyền siêu người dùng để sao chép dữ liệu. Lấy đồ uống hoặc làm một cái gì đó trong một thời gian.

  3. Khi sao chép xong, hãy nhìn để chắc chắn rằng mọi thứ đều ổn và ngắt kết nối hình ảnh. Từ Disk Utility, chọn Chuyển đổi và biến hình ảnh bó thưa thớt thành hình ảnh nén. Một lần nữa, điều này có thể mất một lúc.

Bạn nên kết thúc với hai bản sao lưu Time Machine của mình, bạn có thể xóa phiên bản gói thưa thớt và đặt dmg ở nơi an toàn dưới dạng lưu trữ kịp thời.

Một điều tôi chưa từng làm với điều này là thực hiện khôi phục hệ thống từ dmg, nhưng tôi nghi ngờ rằng nó sẽ hoạt động, mục tiêu của tôi là nhiều hơn để lưu trữ các thay đổi gia tăng của cỗ máy thời gian và giữ cấu trúc liên kết cứng.

Tôi cũng đã thử rsync và cp, nhưng dường như họ không giữ cấu trúc liên kết cứng sẽ tạo ra gấp x lần kích thước, x là số ngày bạn có trong quá khứ. Phương pháp này hoạt động tốt, nhưng một lần nữa có thể không nhận được tốc độ của một giải pháp sao chép khối.


0

Apple có một hướng dẫn chính thức cho việc này: Máy Time Time: Cách chuyển các bản sao lưu từ ổ đĩa sao lưu hiện tại sang ổ đĩa sao lưu mới .

Các bước cấp cao từ trang đó:

  1. Kiểm tra định dạng của ổ đĩa sao lưu mới của bạn
  2. Đặt quyền trên ổ đĩa sao lưu mới của bạn
  3. Tạm thời tắt Time Machine
  4. Sao chép dữ liệu sao lưu của bạn từ ổ đĩa gốc sang ổ đĩa mới của bạn
  5. Đặt cỗ máy thời gian để sử dụng ổ đĩa mới của bạn

Đây là cách trang khuyến nghị thực hiện bước sao chép:

Sao chép dữ liệu sao lưu của bạn từ ổ đĩa gốc sang ổ đĩa mới của bạn

  1. Mở một cửa sổ Finder mới. Trong thanh bên Finder, nhấp vào biểu tượng của ổ đĩa sao lưu gốc.
  2. Mở một cửa sổ Finder mới. Trong thanh bên Finder, nhấp vào biểu tượng của ổ đĩa sao lưu mới.
  3. Kéo thư mục "Backups.backupdb" từ ổ đĩa sao lưu gốc lên cấp cao nhất của ổ đĩa sao lưu mới.
  4. Nhập tên quản trị viên và mật khẩu, sau đó bấm OK để bắt đầu quá trình sao chép.

Sao chép dữ liệu sao lưu của bạn có thể mất một chút thời gian để hoàn thành, tùy thuộc vào kích thước của bản sao lưu của bạn.


5
Tôi cho một người đang xem câu hỏi này bởi vì theo hướng dẫn đó (gợi ý sao chép thư mục sao lưu bằng Finder) và để nó chạy qua đêm, nó đã kết thúc với một số vấn đề về quyền với khoảng 500 / 940gb được sao chép. Sau đó tôi đã làm một sudo rsyncđêm qua, nhưng sáng nay tìm thấy ERROR: out of memory in flist_expand [sender]và bản sao của tôi bây giờ là ~ 600gb. Tôi đã không quyết định làm gì tiếp theo, nhưng nghi ngờ hầu hết mọi người đọc đã biết về hướng dẫn chính thức.
PeterT

@PeterT Tôi cũng vừa thử tuto và gặp vấn đề tương tự như bạn. Tôi không chắc có ai biết về hướng dẫn này, nếu không thì có ai đó đã đề cập đến nó ở đây và kết quả sau nó. Bây giờ, mọi người biết nó không đáng để thử.
David Andreoletti

1
Sử dụng công cụ tìm để sao chép thư mục mất một thời gian để xây dựng danh sách tệp và sau đó không thành công với không đủ dung lượng đĩa nên phải tính toán sai.
malhal

1
Đó chính xác là vấn đề của tôi. Dung lượng TM ban đầu là 550GB, mới là 600GB. Mojave vẫn phàn nàn về không đủ dung lượng trên âm lượng. Tôi đang sử dụng SuperDuper! trong chế độ "Sao lưu - tất cả các tệp".
Markus Rudel

1
Hướng dẫn của Apple đã thất bại đối với tôi, trong macOS Mojave 10.14.2. Tôi đã cố gắng sao chép một kho lưu trữ sao lưu 3TB vào ổ đĩa 8TB; Finder đã dành gần 5 ngày để sao chép (nói '5 giây còn lại' cho phần lớn thời gian đó), trước khi từ bỏ và phàn nàn rằng ổ đĩa đã đầy! Và nó đã - mặc dù nó chỉ sao chép khoảng 2/3 bản sao lưu. Rõ ràng, nó không bảo tồn các liên kết cứng mà tạo ra các bản sao mới của mỗi liên kết. Vì vậy, câu trả lời này hiện không chính xác.
chơi

0

+1 cho các tiện ích đĩa, quá dài cho các nhận xét:

12.250.329 tệp được đánh giá, 10.408.594 tệp được sao chép. Tốc độ sao chép hiệu quả 8,68 MB / s.

để sao chép ổ đĩa sao lưu 2TB từ tính với nhiều năm sao lưu thông qua SuperDuper! Năm nay.

Quá trình này mất tổng cộng 63 giờ (SuperDuper sẽ thiết lập lại đồng hồ cứ sau 24 giờ, vì vậy cuối cùng nó hiển thị 15:04:43), trái ngược với bản sao Finder mà tôi đã hủy sau khoảng 4 ngày và một phần tư tệp.

Rõ ràng đĩa từ tính không phải là lý do cho việc này mất quá nhiều thời gian. Lý do Finder sao chép bị đình trệ trên các đĩa sao lưu chạy dài là số lượng liên kết tượng trưng xếp tầng trên các tệp không thay đổi, đặc biệt đối với nhiều tệp nhỏ như chỉ số Git.


0

rsync là một tiện ích tuyệt vời cho những thứ như thế này. Tôi thường sử dụng nó cho những thứ như thế này. Trong trường hợp này tôi có thể sử dụng cờ -aP. Tôi nghĩ rằng một phần của -a ("kho lưu trữ") cũng là để bảo vệ các quyền, ACL và những thứ tương tự, nhưng tôi không chắc chắn.

IIRC, cũng có một tùy chọn --delete cho phép bạn xóa tệp nguồn một khi nó đã được sao chép thành công đến đích. Tôi sẽ cảnh giác khi sử dụng điều đó - thông thường tôi thường làm một chiếc gương hoàn chỉnh mà không có tùy chọn --delete, sau đó tôi sẽ chạy lại lệnh với các tùy chọn -c và --delete. -c là tổng kiểm tra, do đó, nó sẽ kiểm tra tất cả các tệp bạn đã tải xuống so với tất cả các tệp trên nguồn qua tổng kiểm tra, sau đó xóa nguồn nếu có trùng khớp, nếu không, nó sẽ sao chép lại hoặc tiếp tục sao chép như trường hợp có thể.

EDIT: vui lòng sử dụng cờ -H trong trường hợp này theo nhận xét, để giữ liên kết cứng.


5
rsync không duy trì liên kết cứng trên các thư mục. Sao chép một bản sao lưu TM trong một thời gian sẽ sao chép rất nhiều thư mục
nohillside

1
@patrix - Tôi có thể xác nhận điều này. Tôi đã thử nó. Thư mục liên kết cứng gần như là duy nhất đối với HFS + và rsync không hiểu chúng.
Tên giả

3
-H, --hard-links giữ liên kết cứng
Pete Ashdown

-2

Với các ổ đĩa cứng, khi bạn di chuyển nhiều tệp từ một ổ đĩa, trình đọc di chuyển qua lại tạo ra tiếng ồn khi nhấp đáng sợ và làm chậm đáng kể tốc độ truyền, ví dụ: một tệp có usb 2.0 di chuyển với tốc độ 30 mbps trên máy tính của tôi từ 2 ổ cứng ngoài, nhưng 2 tệp di chuyển với tốc độ 11 mbps. và 3 tập tin di chuyển với tốc độ 6 mbps. vv vv các tập tin zip sẽ di chuyển nhanh hơn các tập tin.


2
Làm thế nào điều này trả lời câu hỏi của OP?
fsb
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.