Автоматично скорочуйте існуючу резервну копію Time Machine до фіксованого розміру


11

Я годинами гугла, щоб знайти рішення цієї проблеми, але не змогла знайти відповідь, яка відповідатиме моїй проблемі.

Моя установка:

  • У мене є iMac з жорстким диском ~ 1 Тб
  • Я створюю резервну копію через Time Machine на Synology NAS DS214 + з пробілом ~ 2,7 ТБ

Моя проблема:

  • Я забув встановити обмеження розміру для резервного користувача. Жоден мій час резервного копіювання машини не використовує близько 2,3 ТБ місця. Це не круто.
  • Я не можу встановити квоту для користувача Synology, оскільки вона починає рахувати початковий нуль.

Що я хочу зробити:

  • Якщо це можливо, я хочу сказати, що резервна копія Time Machine автоматично скорочується до межі ~ 1,5 ТБ, видаляючи найдавніші резервні копії.
  • Тоді я хочу, щоб розріджений пучок більше не збільшувався.

Хтось із вас бачить рішення? Або мені потрібно видалити всі старі резервні копії, щоб досягти своєї мети?


Просто FYI: Я використовую OS X Yosemite 10.10.3 та поточну прошивку в моїй Synology NAS.
— Майкл

Відповіді:


3

Time Machine поважатиме визначення розміру - але лише тоді, коли ви виготовите контейнер . Ця функціональність - це все, що Apple надає для власного резервного копіювання, тож вам потрібна спеціальна установка, щоб робити те, що ви просите, і ви не можете обмежувати речі, як тільки ви почали створювати резервну копію до контейнера.

Якщо рухатися вперед, якщо ви хочете створити новий контейнер з обмеженими можливостями, концепцію не складно окреслити.

  • зробіть новий контейнер із синології та обов'язково виконайте обмеження розміру під час запуску процесу.

Server.app робить це легко - я не знаю про синологічний код, який реверсував цю функцію, але був би здивований, якщо він не знаходиться на GitHub або публікується десь публічно.

У цей момент ви можете видалити всі великі резервні копії папок користувачів, а потім блокувати за допомогою блоку копіювання старих даних резервної копії до нового пункту призначення, а потім успадкувати резервну копію.

Ви також можете зменшити інтервали резервного копіювання з командного рядка або скрипту також.

Багато і багато роботи, але це може бути варте того, як проект, якщо хтось схильний.

Коли я в твоїх черевиках, я просто копіюю стару "занадто велику" резервну копію на офлайн-жорсткий диск і кладу її на полицю і починаю з нових резервних копій потрібного розміру. Через 6 місяців чи рік витріть цей старий диск, якщо ви справді не відчуваєте, що вам потрібна стара версія історії.


Ексклюзивно, що я зробив: я почав з нового резервного копіювання машини. Дякуємо, що відповіли!
— Майкл

У TimeMachine є налаштування для встановлення Maxsize для розрідженого ряду, але, на мій досвід, це працює лише для нових спарбундлей, а не для існуючих. Єдине рішення його проблеми - це видалити старі резервні копії, і моє рішення - це найкращий спосіб зробити це.
— Роберт

Погоджено - я повинен жирним шрифтом, але лише тоді, коли ви зробите контейнер або зміните його, щоб він був більш чітким @RobertBarrueco
— bmike

Я виявив, що "Disk Utility" міг би змінити розмір контейнера Time Machine, якщо в ньому було вільного місця, що, в свою чергу, змусило Time Machine використовувати новий, менший розмір контейнера як обмеження. Це було на моїй капсулі часу. Я здогадуюсь, що початковий контейнер будується з вільного простору, наявного тоді.
— Thorbjørn Ravn Andersen

2

Це найпростіше рішення за допомогою OSX Terminal.

Отримайте список усіх резервних копій у TimeMachine. Це також покаже вам повний шлях до каталогу до резервних копій, який вам знадобиться на кроці 2 ...

$ tmutil listbackup

/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

Виберіть резервні копії для видалення залежно від дати. Зверніть увагу на використання підстановки * та використання каталогу з кроку 1. Наприклад, для видалення всіх резервних копій 2018 року ви б використали це:

$ sudo tmutil delete '/ Томи / Резервні копії машин часу / Backups.backupdb / {your-macbook} / 2018 -' *

Заключний крок - зменшити і відновити простір з розрідженого пучка. Шукайте у дисках резервного копіювання файл .sparsebundle.

$ sudo hdiutil compact '/Volumes/{your-mac}.sparsebundle'


Як це автоматично зменшує резервну копію до конкретного розміру, як вимагає ОП?
— nohillside

0

Зменшіть об'єм резервного копіювання до потрібного розміру. Time Machine призначений для того, щоб додавати резервні копії до повного обсягу, а потім обрізати старі копії. Він НЕ розроблений для того, щоб ділитися простором пам’яті з іншими речами, а також не залишати вільних гігабайт X у пункті призначення.


5
Ну, я не можу зменшити гучність, тому що це вже займає більше місця, ніж хотілося. Оце моя проблема.
— Майкл

1
як би ви зменшили гучність?
— jmh

0

Я погоджуюся з відповіддю, наданою раніше, хоча те, що ви можете спробувати, це вручну видалити резервні копії Time Machine (на власний ризик).

Якщо ви встановлюєте гучність, є папка під назвою "Backups.backupdb" (вона може виглядати дещо інакше на віддалених резервних копіях). Всередині нього буде ім’я вашого комп’ютера, а потім дати або обсяги, або навпаки (вибачте, я зараз далеко від власного Mac і не можу перевірити точний порядок).

Якщо ви видалите кілька папок більш ранньої дати, ви звільніть місце, щоб змінити розмір гучності.

ПРИМІТКА. Майте на увазі, що Time Machine - це додаткова резервна копія, що використовує жорсткі посилання для незмінних файлів. Отже, вилучивши одну папку дати, можливо, не буде видалено об'єм місця, для якого вона вказана.


2
Цей сайт говорить про видалення резервних копій за допомогою sudo tmutil delete.
— Харві

Time Machine ділиться незмінними файлами за допомогою жорсткого посилання. Якщо ви видалите всю резервну копію, файли, які використовуються іншими резервними копіями, не видаляються, а лише посилання.
— 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   
}

Приклад:

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

Можна дзвонити неодноразово.

    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
    ...
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.