Tự động thu nhỏ Sao lưu Time Machine hiện tại về kích thước cố định


11

Tôi đã googled hàng giờ để tìm một giải pháp cho vấn đề này, nhưng tôi không thể tìm thấy một câu trả lời phù hợp cho vấn đề của tôi.

Thiết lập của tôi:

  • Tôi có iMac với Ổ cứng ~ 1TB
  • Tôi đang sao lưu thông qua Time Machine tới Synology NAS DS214 + với ~ 2.7TB Dung lượng

Vấn đề của tôi:

  • Tôi quên đặt giới hạn kích thước cho người dùng sao lưu. Không có sao lưu Time Machine của tôi sử dụng khoảng 2,3TB. Điều đó không tuyệt.
  • Tôi không thể đặt hạn ngạch cho người dùng Synology, vì nó bắt đầu đếm bắt đầu từ 0.

Những gì tôi muốn làm:

  • Nếu có thể, tôi muốn nói với Sao lưu cỗ máy thời gian của mình tự động thu nhỏ đến giới hạn ~ 1,5TB bằng cách xóa các bản sao lưu cũ nhất.
  • Sau đó, tôi muốn các bó thưa thớt để không lớn hơn nữa.

Có ai trong số các bạn nhìn thấy một giải pháp? Hay tôi phải xóa tất cả các bản sao lưu cũ để đạt được mục tiêu của mình?


Chỉ cần FYI: Tôi đang sử dụng OS X Yosemite 10.10.3 và phần sụn hiện tại trên NAS Synology của tôi.
michael

Câu trả lời:


3

Time Machine sẽ tôn trọng xác định kích thước - nhưng chỉ khi bạn thực hiện container . Chức năng này là tất cả những gì Apple cung cấp để sao lưu riêng, do đó bạn cần có một thiết lập tùy chỉnh để thực hiện những gì bạn yêu cầu và bạn không thể giới hạn mọi thứ một khi bạn đã bắt đầu sao lưu vào một container.

Đi về phía trước nếu bạn muốn tạo một container bị hạn chế mới, mặc dù khái niệm này không khó để vạch ra.

  • tạo một thùng chứa mới trên synology và đảm bảo thực thi các ràng buộc kích thước khi bạn bắt đầu quá trình.

Server.app thực hiện điều đó một cách dễ dàng - Tôi không biết mã đồng bộ hóa đã đảo ngược tính năng đó, nhưng sẽ rất ngạc nhiên nếu nó không có trên GitHub hoặc được xuất bản ở đâu đó công khai.

Tại thời điểm đó, bạn có thể xóa tất cả các bản sao lưu của các thư mục người dùng lớn và sau đó chặn từng khối sao chép dữ liệu sao lưu cũ sang đích mới và sau đó kế thừa bản sao lưu.

Bạn cũng có thể làm mỏng khoảng thời gian sao lưu từ dòng lệnh hoặc tập lệnh tự động hóa này.

Rất nhiều và rất nhiều công việc, nhưng nó có thể có giá trị như một dự án nếu ai đó có khuynh hướng.

Khi tôi ở trong đôi giày của bạn, tôi chỉ sao chép bản sao lưu "quá lớn" cũ vào ổ cứng ngoại tuyến và đặt nó lên giá và bắt đầu lại với bản sao lưu mới có kích thước bạn thích. Trong 6 tháng hoặc một năm - xóa sạch ổ đĩa cũ trừ khi bạn thực sự cảm thấy bạn cần lịch sử cũ hơn đó.


Thật thú vị những gì tôi đã làm: Tôi bắt đầu với Sao lưu cỗ máy thời gian mới. Cảm ơn đã trả lời mặc dù!
michael

TimeMachine có một cài đặt để đặt Maxsize cho sparshbundle, nhưng theo kinh nghiệm của tôi, nó chỉ hoạt động cho các spundbundles mới, không phải là những cái hiện có. Giải pháp duy nhất cho vấn đề của anh ấy là xóa các bản sao lưu cũ và giải pháp của tôi là cách tốt nhất để làm điều đó.
Robert Barrueco

Đồng ý - nên tôi táo bạo nhưng chỉ khi bạn thực hiện các thùng chứa hoặc sự thay đổi đó là rõ ràng hơn @RobertBarrueco
bmike

Tôi thấy rằng "Disk Utility" có thể thay đổi kích thước bộ chứa Time Machine nếu nó có không gian trống bên trong, điều này khiến cho Time Machine sử dụng kích thước bộ chứa mới, nhỏ hơn làm giới hạn. Đây là trên Time Capsule của tôi. Tôi đoán là container ban đầu được xây dựng từ không gian trống có sẵn sau đó.
Thorbjørn Ravn Andersen

2

Đây là giải pháp đơn giản nhất sử dụng OSX Terminal.

Lấy danh sách tất cả các bản sao lưu trong TimeMachine. Điều này cũng sẽ hiển thị cho bạn đường dẫn thư mục đầy đủ đến các bản sao lưu mà bạn sẽ cần trong bước 2 ...

$ tmutil listbackups

/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-02-213405
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-09-192323
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-19-212659

Chọn những bản sao lưu cần xóa dựa trên ngày của họ. Lưu ý việc sử dụng ký tự đại diện * và việc sử dụng thư mục từ bước 1. Ví dụ: để xóa tất cả các bản sao lưu của năm 2018, bạn sẽ sử dụng điều này:

$ sudo tmutil xóa '/ Tập / Sao lưu máy thời gian / Sao lưu.backupdb / {your-macbook} / 2018 -' *

Bước cuối cùng là thu nhỏ và phục hồi không gian từ bó thưa thớt. Tìm kiếm ổ đĩa sao lưu của bạn cho tệp .spzzybundle.

$ sudo hdiutil compact '/Volume/ đũayour-mac xăng.spudebundle'


Làm thế nào để điều này tự động thu nhỏ bản sao lưu đến một kích thước cụ thể như OP yêu cầu?
nohillside

0

Thu nhỏ âm lượng dự phòng đến kích thước mong muốn. Time Machine được thiết kế để tiếp tục thêm các bản sao lưu cho đến khi âm lượng đầy, sau đó cắt bớt các bản sao cũ hơn. Nó KHÔNG được thiết kế để chia sẻ không gian lưu trữ với những thứ khác, cũng như không để X gigabyte miễn phí ở đích đến.


5
Chà, tôi không thể thu nhỏ âm lượng, vì nó đã chiếm nhiều dung lượng hơn mong muốn. Đó là vấn đề của tôi.
michael

1
Làm thế nào bạn sẽ thu nhỏ âm lượng?
jmh

0

Tôi đồng ý với câu trả lời được đưa ra trước đó, mặc dù điều bạn có thể thử là xóa thủ công các bản sao lưu Time Machine (có nguy cơ của riêng bạn).

Nếu bạn gắn âm lượng, có một thư mục có tên "Backups.backupdb" (nó có thể trông hơi khác trên các bản sao lưu từ xa). Bên trong nó sẽ có tên máy tính của bạn và sau đó là ngày hoặc khối lượng hoặc ngược lại (xin lỗi, tôi hiện đang ở xa máy Mac của mình và không thể kiểm tra thứ tự chính xác).

Nếu bạn xóa một số thư mục ngày trước đó, bạn sẽ giải phóng một số dung lượng để thay đổi kích thước âm lượng.

LƯU Ý: Hãy nhớ rằng Time Machine là bản sao lưu gia tăng sử dụng các liên kết cứng cho các tệp không thay đổi. Vì vậy, loại bỏ một thư mục ngày, có thể không loại bỏ dung lượng mà nó thể hiện ở kích thước.


2
Trang web này nói để xóa bản sao lưu của bạn bằng cách sử dụng sudo tmutil delete.
Harvey

Time Machine chia sẻ các tệp không thay đổi bằng liên kết cứng. Nếu bạn xóa toàn bộ bản sao lưu, các tệp được sử dụng bởi các bản sao lưu khác sẽ không bị xóa, chỉ có các liên kết.
WGroleau

0
momomo.com.apple.timemachine.backups.list() {
        tmutil listbackups
}
momomo.com.apple.timemachine.backups.compact() {
        local leave="${1}";

        if [[ "${leave}" == "" ]]; then leave="5"; fi

        local backups=(
                $(momomo.com.apple.timemachine.backups.list)
        )

        local length="${#backups[@]}"
        local     to="(("${length}"-"${leave}"))"

        local i=0; while [[ "${i}" -lt "${to}"  ]]; do
                local backup="${backups[i]}"

                sudo tmutil delete "${backup}"

                echo -e "\n\n"

                ((++i))
        done   
}

Thí dụ:

# To leave last 10 on disk and remove all previous before
momomo.com.apple.timemachine.backups.compact 10 

Có thể gọi nhiều lần.

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Deleted (4.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Total deleted: 4.6G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Deleted (5.1G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Total deleted: 5.1G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Deleted (6.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Total deleted: 6.6G

    Deleting backup: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-11-002303
    ...
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.