Xóa các bản sao lưu không cần thiết khỏi TimeMachine để lấy dung lượng


16

Tôi biết rằng các bản sao lưu cũ nhất sẽ tự động bị xóa khi không còn chỗ cho những cái mới trên TimeMachine. Tôi cũng sử dụng TimeCapsule để chia sẻ tệp trên WiFi, vì vậy tôi muốn giải phóng một số dung lượng bằng cách xóa các bản sao lưu không cần thiết:

  • Các tệp lớn không cần sao lưu (ví dụ: xem trước hình ảnh của Lightroom trên 1 GB). Tôi đã loại trừ chúng trong các tùy chọn TM nhưng chúng đã có mặt trong các bản sao lưu cũ giữ không gian mãi mãi.

  • Sao lưu cũ nhất tôi biết tôi sẽ không cần. (Vì vậy, để kích hoạt giống như TimeMachine tự động nhưng sớm hơn đĩa sẽ trống).



2
@whatyou leather Các công cụ Apple cung cấp là tất cả các lệnh unix như tmutil comparevà không có giao diện GUI. Hầu hết người dùng chỉ cần đặt ổ đĩa cũ của họ lên giá và mua ổ đĩa 4 TB mới với giá 129 đô la và bắt đầu sao lưu lại thay vì sao lưu vi mô. Có nhiều công cụ để giúp quản lý lưu trữ, một số rất rẻ. Bạn đã khám phá điều khiển bạn có với Time Machine chưa?
bmike

Câu trả lời:


7

Tôi sử dụng bài viết này để giúp tôi xóa các tệp khỏi Time Machine:

Nó nói về việc loại bỏ tất cả các bản sao lưu của một tệp duy nhất, có thể đó không phải là thứ bạn đang tìm kiếm, nhưng nó chắc chắn có thể giải quyết các vấn đề đầu tiên (xem trước Lightroom). Trong thực tế, việc xóa tất cả các bản sao lưu của một tệp hoặc tất cả các tệp trong một bản sao lưu sẽ dễ dàng hơn so với việc xóa và chỉ xóa một tệp khỏi một bản sao lưu.

Dưới đây là một bản tóm tắt ngắn gọn về bài viết đó:

  1. Máy thời gian mở
  2. Chọn thư mục / tệp bạn muốn xóa khỏi bản sao lưu của bạn
  3. Thông qua menu "tùy chọn" trong thanh menu Finder (nhấp ctrl không có sẵn trong TM, không biết tại sao) chọn "Xóa tất cả các bản sao lưu của tệp đã chọn ", trong đó tệp được chọn là (rõ ràng!) Tệp bạn đã chọn.

12

Bạn có thể chỉ cần nhập Time Machine và chọn thư mục, ứng dụng và tệp và chọn để xóa tất cả các bản sao lưu của mục đó. Dòng lệnh tmutil comparecũng cung cấp chi tiết đầy đủ về những gì đã thay đổi giữa các khoảng thời gian sao lưu nếu bạn không phiền khi sử dụng terminal và shell UNIX. Ngay cả khi không có công cụ shell, bạn vẫn có thể lưu trữ vi mô từ GUI của Time Machine như sau - trích dẫn bài viết của Apple về Mac Basics: Time Machine :

Bạn cũng có thể vào giao diện khôi phục Time Machine và tìm các tệp có thể được gỡ bỏ khỏi ổ đĩa sao lưu để tiết kiệm dung lượng. Để thực hiện việc này, chọn (các) tệp và từ menu bật lên Hành động (biểu tượng bánh răng) trong cửa sổ Trình tìm kiếm cỗ máy thời gian, chọn "Xóa tất cả các bản sao lưu của ...". Hãy chắc chắn chỉ xóa các tệp bạn chắc chắn bạn sẽ không cần hoặc muốn khôi phục sau này.

Tiếp theo, bạn có thể sử dụng một công cụ như BackupLoupe để phân tích các bản sao lưu Time Machine của mình để xác định mỗi khoảng thời gian được sử dụng, bao nhiêu dung lượng sao lưu trung bình của bạn, sẽ mất bao lâu để lấp đầy ổ đĩa ở tốc độ hiện tại, v.v.

Sao lưu

Với mức độ chi tiết đó, bạn có thể quản lý nhu cầu lưu trữ của mình ít hoặc nhiều chi tiết như tình huống yêu cầu. Công cụ này đã giúp tôi tìm ra các ổ đĩa sao lưu có vấn đề, máy Mac bị hỏng hệ thống tập tin (khi mỗi bản sao lưu lớn hơn mức cần thiết, v.v. để hài hòa với nhu cầu lưu trữ và sao lưu có sẵn của bạn.


2
BackupLoupe thật tuyệt vời! Thật không may, nó không cho phép xóa các tệp, nhưng một quy trình công việc tốt là: 1) xác định vị trí lớn trong BackupLoupe 2) ⌘ + i và sao chép đường dẫn 3) + shift + g trong Finder và dán nửa sau của đường dẫn 4) TimeMachine 5) chọn một tệp và „Xóa tất cả các bản sao lưu miễn phí khỏi Tùy chọn menu Menu như được mô tả trong câu trả lời khác
myneur 27/03/13

Có - cả hai câu trả lời bao gồm menu Hành động bật lên với điều khiển bánh răng. Nó khá tiện dụng vì Time Machine sẽ không cho phép công cụ tìm hoặc ứng dụng như BackupLoupe thực sự xóa các tệp từ trong cửa hàng sao lưu (theo thiết kế) .
bmike

4

Nếu bạn muốn xóa một bản sao lưu từ một ngày nhất định, có một giải pháp cho điều đó. Tôi đã nhìn thấy nó từ screencast này :

  • Chuyển đến biểu tượng cỗ máy thời gian trên thanh menu, nhấp vào nhập cỗ máy thời gian.
  • Sau khi máy tính để bàn của bạn đi vào hoạt hình sao, bạn sẽ có thể thấy danh sách ngày sao lưu của bạn ở bên phải.
  • Đến ngày sao lưu mà bạn muốn xóa
  • Ở giữa, nhấp vào biểu tượng bánh răng và nhấp vào Xóa Sao lưu .
  • Nhập mật khẩu của bạn khi được nhắc

3
Để làm rõ: Biểu tượng Bánh răng nằm trong thanh công cụ Finder trong chế độ xem Time Machine.
Nelson

2

Có gì sai khi nhập Time Machine, duyệt đến bản sao lưu cũ nhất của toàn bộ ổ đĩa, nhấp chuột phải và chọn Xóa Thư mục. Làm việc cho tôi.


Điều đó làm việc. Như được mô tả chính xác hơn bởi bmike ở trên. Tôi chỉ không biết là có thể làm như vậy ..
myneur

2

Tôi đã viết một tập lệnh bash để xóa tất cả các bản sao lưu nhưng mới nhất vì những tập tin được đăng ở nơi khác không làm việc cho tôi. Tôi biết bạn không muốn làm điều đó một cách cụ thể, nhưng nó có thể được sửa đổi để giữ nhiều bản sao lưu hơn (xem bên dưới). Xin lưu ý rằng điều này không áp dụng để xóa các thư mục hoặc tệp cụ thể khỏi các bản sao lưu. Kịch bản này giả định rằng bạn có nó trên một đĩa cứng cục bộ (rất có thể là đĩa ngoài). Tôi đã phải tự viết vì các bản sao lưu không được liên kết với máy tính này, vì vậy tmutil listbackupskhông hoạt động và đó là những gì các tập lệnh khác phụ thuộc vào.

Trong các tập lệnh bên dưới, thay thế DISKNAMEbằng tên của đĩa cứng bằng các bản sao lưu Time Machine và COMPUTERNAMEbằng tên của máy tính mà các bản sao lưu đó thuộc về.

Đầu tiên, chạy tập lệnh này để xem danh sách các bản sao lưu mà tập lệnh sẽ xóa:

while read line; do
    echo "/Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME/${line}"
done < <(ls /Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME | tail -r | tail -n +3)

Các +3sẽ làm cho rời khỏi sao lưu cuối cùng. Nếu bạn muốn giữ hai bản sao lưu cuối cùng, hãy tạo nó +4. Để giữ ba bản sao lưu cuối cùng +5, v.v.

Để xóa tất cả các bản sao lưu ngoại trừ bản mới nhất, hãy chạy tập lệnh này:

while read line; do
    sudo tmutil delete "/Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME/${line}"
done < <(ls /Volumes/DISKNAME/Backups.backupdb/COMPUTERNAME | tail -r | tail -n +3)

Tôi biết nó có thể được tạo ra một cách dễ dàng hơn bằng cách xác định các biến và công cụ, nhưng thành thật mà nói, tôi không rành về kịch bản shell. Tôi chỉ biết những cái siêu phức tạp khác không hoạt động, nhưng cái này đã làm cho tôi, vì vậy đây là cho hậu thế.


Sau khi chạy này, cần phải thực hiện sao lưu lại, vì chỉ các tệp đã thay đổi được sao lưu, vì vậy bản sao lưu lats chỉ chứa các tệp đã thay đổi so với trước đó. Tôi có hiểu đúng không?
myneur

1
Nó sẽ chứa tất cả các tệp như tại thời điểm sao lưu mới nhất. Vì vậy, ngay cả khi một tài liệu không thay đổi giữa bản sao lưu thứ hai đến bản sao lưu mới nhất, nó vẫn ở đó. Đúng là mỗi bản sao lưu là tăng dần, có nghĩa là nó chỉ sao lưu các tệp đã thay đổi. Nhưng các tệp được lưu trữ dưới dạng liên kết cứng, có nghĩa là một tệp giống hệt nhau trong hai bản sao lưu chỉ được lưu trữ một lần, nhưng với các liên kết cứng trong cả hai bản sao lưu chỉ vào cùng một tệp. Vì vậy, nếu một liên kết cứng bị xóa, liên kết cứng khác vẫn trỏ đến dữ liệu tệp và do đó nó vẫn tồn tại.
LakeHMM

Tôi đã thử điều này tại địa phương ... Trong khi nó hoạt động, sẽ có rủi ro nếu có ít hơn bốn bản sao lưu. Nếu có bốn hoặc nhiều bản sao lưu hiện có, nó sẽ xóa chúng ngoại trừ bản sao lưu gần đây nhất. Nếu có ít hơn bốn, tail -n +3sẽ liệt kê ba bản sao lưu còn lại, bao gồm bản sao lưu mới nhất. Cẩn thận hơn khi sử dụng ...
nwinkler

2

Tôi đã viết một tập lệnh shell cho phép bạn tùy ý chỉ định số ngày cần giữ: tất cả các bản sao lưu cũ hơn số ngày đã chỉ định (kể từ bây giờ) sẽ bị xóa.

Bạn có thể kiểm tra nó trên kho GitHub của nó .


1

Chạy lệnh đơn này trong Terminal để xóa tất cả các bản sao lưu Time Machine ngoại trừ mới nhất:

find $(tmutil machinedirectory) -name "2*" -maxdepth 1 | sort -r | tail -n +2 | sudo xargs tmutil delete

Bạn có thể cần thêm ứng dụng Terminal vào Tùy chọn hệ thống> Bảo mật & quyền riêng tư> tab Quyền riêng tư> Truy cập đĩa đầy đủ.


0

Ứng dụng Disk Inventory X thực sự giúp tôi phát hiện các tệp lớn trên đĩa sao lưu. Sau đó, tôi chỉ gỡ bỏ các tập tin lớn bằng tay.


Ứng dụng này dường như không được cập nhật từ năm 2005. Bạn có kinh nghiệm gì khi sử dụng nó để xóa các bản sao lưu Time Machine không cần thiết như được mô tả trong câu hỏi?
nohillside

Tôi chỉ đang tìm kiếm thư mục sao lưu và tìm các tệp đa phương tiện lớn không cần thiết.
caner

Và bạn đang sao lưu bằng Time Machine? Làm thế nào để bạn xóa các tập tin từ ổ đĩa sao lưu sau đó?
nohillside

-1

Xin chào, nó dễ hơn tôi nghĩ. Tôi chỉ cần nhấp vào biểu tượng cỗ máy thời gian, sau đó nhấp vào ổ cứng, nơi cỗ máy thời gian được chọn sao lưu mà tôi không muốn (theo cách thông thường - giữ cmd và chọn ngày sao lưu bạn muốn xóa rồi nhấn xóa trong thanh công cụ Tệp và ở mức thấp, chúng sẽ biến mất. Sau đó, dọn sạch thùng rác, sau đó kiểm tra dung lượng bạn đã tạo trên Ổ cứng nơi Máy thời gian sống!

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.