Làm thế nào để buộc một cỗ máy thời gian đi sâu?


12

Sau một vài cơn hoảng loạn hạt nhân và việc vô tình rút phích cắm ổ đĩa Firewire Time Machine của tôi, tôi muốn đảm bảo rằng cỗ máy thời gian của tôi hoàn toàn khớp với Macintosh HD của tôi, giống như vậy rsync -a. Có cách nào để buộc Time Machine thực hiện một giao dịch sâu để kiểm tra xem bản sao lưu có khớp không?

Biết cách làm điều này trên Leopard, Snow Leopard và Lion sẽ hữu ích.


Một tùy chọn cực kỳ an toàn (nhưng tốn thời gian và hơi cay) sẽ là bắt đầu một đĩa sao lưu mới.
Thilo

Câu trả lời:


7

Đặt điểm đến của cỗ máy thời gian thành không có gì và sau đó đặt lại vị trí đó vào cùng một vị trí như trước đây để tạo ra một đường truyền sâu cho tôi. Bạn có thể thử khởi động lại giữa việc thay đổi đích và thêm lại điểm đó để tăng khả năng truyền tải sâu được kích hoạt.

Trường hợp xấu nhất, chúng ta có thể lén lút trong chế độ một người dùng để phá hủy thư mục fseventsd vào thời điểm an toàn khi hệ thống không tính đến nó là chính xác, vì vậy bạn đã buộc một cơ sở dữ liệu mới không khớp. Bạn có thể xóa phần này khỏi phía TM, nhưng tôi sẽ xóa bản sao khởi động vì an toàn hơn một chút và ít bị phá hủy dữ liệu bạn cần hoặc làm hỏng bản sao lưu của bạn.

Nếu bạn có xu hướng sử dụng dòng lệnh / thiết bị đầu cuối, tôi sẽ bắt đầu tmutil comparetrước cả khi bạn bắt đầu thực hiện một giao dịch sâu. Nó so sánh rõ ràng mọi thứ khi chúng tồn tại với ảnh chụp nhanh cuối cùng và bạn có thể buộc mọi thứ bằng cách chỉ định một ảnh chụp nhanh bên ngoài cụ thể nếu bạn lo lắng về một ảnh chụp nhanh cục bộ được so sánh.


Làm thế nào để bạn đặt đích máy thời gian thành không có gì? tmutil setdestinationđòi hỏi một con đường như một đối số, phải không? (Hoặc tôi đoán chỉ cần chọn đĩa sao lưu rồi nhấn "Xóa đĩa" để bỏ chọn nó?) Tôi bị kẹt ở một vị trí khủng khiếp. Time Machine đang tạo một bản sao lưu mới bất cứ khi nào tôi cố gắng sao lưu (tôi hủy nó trước khi nó xóa các bản sao lưu cũ của mình), vì vậy tôi muốn buộc nó thực hiện một giao dịch sâu để nó thấy rằng hầu hết các tệp trong thực tế không thay đổi kể từ lần trước sao lưu.
Gary

Được rồi vì vậy tôi chỉ sử dụng giao diện Time Machine và nhấn "Xóa đĩa", sau đó thêm lại. Tôi vẫn không nhận được một truyền thống sâu sắc. Tôi biết điều này bởi vì giai đoạn "Chuẩn bị sao lưu" mất 12 phút, khi ngày hôm qua tôi thực sự đã thực hiện một giao dịch sâu khi mất 120 phút để hoàn thành, đó chính xác là những gì tôi muốn bây giờ nhưng không thể tìm ra cách để làm điều đó.
Gary

1

Khởi động ở chế độ một người dùng có thể gây ra sự di chuyển sâu. Nó đã làm cho tôi một lần, nhưng không phải lần sau. Xóa /.fseventsd chắc chắn sẽ. Sẽ an toàn để làm điều này trong chế độ người dùng đơn. Xóa /.fseventd trên ổ đĩa sao lưu không kích hoạt tính năng truyền tải sâu cho tôi. (Hệ thống của tôi tiếp tục như bình thường và thậm chí không bao giờ tạo lại nó.)

tmutil comparechỉ là phần nào chính xác. Nó dường như xác định chính xác các tập tin không được sao lưu lúc đầu. Tôi đã kích hoạt một giao dịch sâu để sửa lỗi này, nhưng Time Machine vẫn không sao lưu nhiều tệp. Tuy nhiên, tmutil comparebây giờ tuyên bố rằng không có một vấn đề. Tôi sẽ tin tưởng:

rsync --dry-run --itemize-changes --checksum --protect-args -aNHAXx --protect-decmpfs --fileflags --force-change --delete path/to/source_dir/ path/to/destination_dir/

Sử dụng /Volumes/<your time machine volume>/Backups.backupdb/<your machine name>/Latest/như là đường dẫn nguồn hoặc đích. --itemize-changescho chúng tôi thấy những gì là khác nhau; '--checksum' bảo rsyncthực sự so sánh nội dung tệp, thay vì chỉ sửa đổi thời gian và kích thước tệp; và --dry-runnói với rsync không thực sự sao lưu (vì vậy nó chỉ cho chúng ta biết nó sẽ làm gì). Phần còn lại của các đối số là các cờ báo cho rsync để làm cho đích giống hệt với nguồn theo mọi cách, bao gồm siêu dữ liệu và trạng thái nén HFS. Tôi tin rằng Time Machine bổ sung siêu dữ liệu kế toán mà nó sẽ loại bỏ khi khôi phục, do đó rsynccó thể tìm thấy các thay đổi siêu dữ liệu giả.


1

Câu trả lời ngắn cho ít nhất macOS 10.13.6:

  1. Xóa mọi bản sao lưu .inProTHER khỏi ổ đĩa sao lưu. Điều này có thể yêu cầu sử dụng root /bin/rm -rfvì vậy tiến hành thận trọng .

  2. Sử dụng tmutil associatedisklệnh để gắn lại âm lượng dự phòng vào ổ đĩa chính. Ví dụ:

sudo tmutil kết hợp -a / "/ Tập / Sao lưu máy thời gian / Sao lưu.backupdb / Macintosh HD / Mới nhất / Macintosh HD"

Sau đó bắt đầu sao lưu từ mục menu Time Machine. Trong trường hợp của tôi, thay vì hoàn thành quá trình quét trong 10 phút (rõ ràng không phải là quét toàn bộ) và hiển thị terabyte để sao lưu, quá trình quét chiếm hơn 30 và kích thước sao lưu phù hợp với những gì tmutil compaređã nói.

Lý lịch:

Tôi cần phải thực hiện quét toàn bộ / quét toàn bộ sau khi trình cài đặt giả mạo (Reallusion) thay đổi quyền trên mọi thứ trong "/ Users / Shared" (khoảng 1 terabyte các tệp không được sửa đổi). Tôi đã thay đổi tất cả chúng trở lại và tmutilxác nhận rằng cỗ máy thời gian không cần sao lưu các tệp đó nữa, nhưng một trong hai đĩa sao lưu đã khăng khăng sử dụng một số quét được lưu trong bộ nhớ cache cho biết.

Những thứ không hoạt động:

  • Xóa và thêm lại khối lượng sao lưu từ tùy chọn hệ thống

  • Xóa /.fseventsd

  • Cài đặt bản cập nhật hệ thống

  • Xóa bản sao lưu .inProTHER mà không cần chạy tmutil associated disk

  • Chạy tmutil associated diskmà không xóa .inPro đi

  • Khởi động vào chế độ người dùng, gắn / đọc-ghi và chạm vào tệp

Trong hầu hết các trường hợp, các bản ghi dự phòng sẽ tuyên bố sẽ thực hiện một giao dịch sâu, nhưng sẽ chỉ mất vài phút và sau đó cố gắng sao lưu mọi thứ. Đây là lệnh để theo dõi backupdtrực tiếp vào ngày 10.13 sau:

log log --style syslog --prateate 'senderImagePath chứa [cd] "TimeMachine"' --info

Điều đó sẽ chỉ hiển thị các sự kiện mới . Để đăng nhập từ ba ngày qua:

log show --style syslog --prateate 'senderImagePath chứa [cd] "TimeMachine"' --info --last 3d

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.