Видаліть непотрібні резервні копії з TimeMachine, щоб отримати місце


16

Я знаю, що найдавніші резервні копії видаляються автоматично, коли на TimeMachine немає місця для нових. Я використовую TimeCapsule також для обміну файлами через WiFi, тому я хотів би звільнити місце, видаляючи непотрібні резервні копії:

  • Великі файли, які не потребують резервного копіювання (наприклад, попередній перегляд зображень Lightroom понад 1 Гб). Я виключив їх у налаштуваннях TM, але вони вже присутні у старих резервних копіях, щоб зберегти простір назавжди.

  • Найдавніші резервні копії, які я знаю, мені не знадобляться. (Отже, щоб запустити те саме, що робить TimeMachine автоматично, але раніше, ніж диск буде порожнім).



2
@whatyouhide Інструменти, які Apple пропонує, - це всі команди UNIX, як tmutil compareі не мають інтерфейсу GUI. Більшість користувачів просто ставлять свій старий накопичувач на полицю і купують новий накопичувач на 4 ТБ за 129 доларів та починають створювати резервні копії знову, а не резервування резервних копій. Є багато інструментів, які допомагають керувати сховищем, деякі дуже недорогі. Чи досліджували ви управління, яке ви маєте з машиною часу?
bmike

Відповіді:


7

Я використовую цю статтю, щоб допомогти мені у видаленні файлів з Time Machine:

У ньому йдеться про видалення всіх резервних копій одного файлу, можливо, це не те, що ви шукаєте, але це безумовно може вирішити перші проблеми (попередній перегляд Lightroom). На практиці простіше видалити всі резервні копії одного файлу або всі файли в одній резервній копії, ніж увійти та видалити з одного резервного копіювання лише один файл.

Ось короткий підсумок цієї статті:

  1. Відкрита машина часу
  2. Виберіть папку / файл, який потрібно видалити зі своїх резервних копій
  3. Через меню "параметр" на панелі меню Finder (клавіша ctrl недоступна в TM, не знаю чому) виберіть "Видалити всі резервні копії вибраного файлу ", де вибраний файл (очевидно!) Вибраний вами файл.

12

Ви можете просто ввести Time Machine і вибрати папки, програми та файли та вибрати, щоб видалити всі резервні копії цього елемента. Командний рядок tmutil compareтакож дає вичерпну інформацію про те, що змінилося між інтервалами резервного копіювання, якщо ви не заперечуєте проти використання терміналу та оболонки UNIX. Навіть не маючи інструментів оболонки, ви можете керувати зберіганням даних із GUI Time Machine таким чином: цитуючи статтю Apple про Mac Basics: Time Machine :

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

Далі ви можете використовувати такий інструмент, як BackupLoupe, щоб проаналізувати резервні копії Time Machine, щоб визначити, скільки місця використовується кожен інтервал, скільки місця займає середня резервна копія, скільки часу буде заповнено накопичувач за поточною швидкістю тощо…

BackupLoupe

Завдяки такому рівню деталізації ви зможете задовольнити потреби в сховищі якнайменше або з такою кількістю деталей, скільки цього вимагає ситуація. Цей інструмент допоміг мені розібратися в проблемних дисках резервного копіювання, Macs з пошкодженням файлової системи (коли кожна резервна копія більша, ніж повинна, тощо). Коли ви побачите, що зберігається, ви можете видалити папки, цілі знімки та налаштувати списки виключень резервних копій. узгоджуватись із наявними потребами у зберіганні та резервній копії.


2
Цей BackupLoupe приголомшливий! На жаль, це не дозволяє видаляти файли, але хорошим робочим процесом є: 1) знайдіть великий фрагмент у BackupLoupe 2) ⌘ + i та копію шляху 3) ⌘ + shift + g у Finder та вставте другу половину шляху 4) введіть TimeMachine 5) виберіть файл і „Видалити всі резервні копії” з меню „Параметри”, як описано в іншій відповіді
myneur

Так - обидві відповіді охоплюють спливаюче меню Дія з керуванням передач. Це досить зручно, оскільки Time Machine не дозволить пошуку або таким програмам, як BackupLoupe, фактично видаляти файли з резервного копіювання (за задумом) .
bmike

4

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

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

3
Для уточнення: піктограма передач знаходиться на панелі інструментів Finder у вікні Time Machine.
Нельсон

2

Що не так у введенні Time Machine, перегляді найстарішої резервної копії всього диска, клацанням правою кнопкою миші та вибором Delete Folder. Працює для мене.


Це працює. Як більш точно описано bmike вище. Я просто не знав, що можна зробити так…
myneur

2

Я написав скрипт bash, щоб видалити всі резервні копії, але останні, оскільки ті, розміщені в інших місцях, не працювали для мене. Я знаю, що ви цього не хотіли спеціально, але це може бути змінено, щоб зберегти більше резервних копій (див. Нижче). Зауважте, що це не стосується видалення певних папок або файлів із резервних копій. Цей сценарій передбачає, що він у вас є на локальному жорсткому диску (швидше за все, на зовнішньому диску). Мені довелося написати власне, оскільки резервні копії не пов'язані з цим комп'ютером, тому tmutil listbackupsне працює, і саме від цього залежали інші сценарії.

У наведених нижче сценаріях замініть DISKNAMEім’я жорсткого диска резервними копіями Time Machine та COMPUTERNAMEназвою комп'ютера, до якого належать резервні копії.

Спочатку запустіть цей скрипт, щоб побачити список резервних копій, які сценарій видалить:

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

+3Змусить покинути останню резервну копію. Якщо ви хочете зберегти два останніх резервних копій, зробіть це +4. Для збереження останніх трьох резервних копій +5тощо.

Щоб видалити всі резервні копії, крім останньої, запустіть цей сценарій:

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)

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


Після запуску цього завдання потрібно зробити резервну копію ще раз, оскільки створюються резервні копії лише змінених файлів, тому лат резервна копія містить лише файли, змінені з попереднього. Я правильно це розумію?
myneur

1
Він містив би всі файли, як вони були під час останньої резервної копії. Тож навіть якщо документ не змінився між резервною копією від останньої до останньої та останньою, це все ще є. Правильно, що кожна резервна копія є додатковою, тобто вона створює резервні копії лише файлів, які були змінені. Але файли зберігаються як жорсткі посилання, це означає, що однаковий файл у двох резервних копіях зберігається лише один раз, але із жорсткими посиланнями в обох резервних копіях, що вказують на той самий файл. Отже, якщо одне тверде посилання видалено, інше жорстке посилання все одно вказує на дані файлу, і тому воно все ще існує.
LakeHMM

Я пробував це локально ... Хоча це працює, є ризик, якщо є менше чотирьох резервних копій. Якщо є чотири або більше існуючих резервних копій, вони видалять їх, за винятком найсвіжішої. Якщо їх буде менше чотирьох, tail -n +3список відображатиме три резервні копії, що містять останню. Будьте особливо обережні, використовуючи це ...
nwinkler

2

Я написав скрипт оболонки, який дозволяє додатково вказати кількість днів, які потрібно зберегти: всі резервні копії, що перевищують вказану кількість днів (з цього часу), видаляються.

Ви можете перевірити це у своєму сховищі GitHub .


1

Запустіть цю єдину команду в Терміналі, щоб видалити всі резервні копії Time Machine, за винятком останніх:

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

Можливо, вам доведеться додати додаток Terminal до системних налаштувань> Безпека та конфіденційність> вкладка Конфіденційність> Повний доступ до диска.


0

Додаток Disk Inventory X дуже допомогло мені виявити великі файли на резервному диску. Після цього я просто видалив великі файли вручну.


Здається, ця програма не оновлювалася з 2005 року. Який у вас досвід використання її для видалення зайвих резервних копій Time Machine, як описано в питанні?
nohillside

Я просто шукаю резервну каталог і знаходжу великі непотрібні мультимедійні файли.
caner

А ви створюєте резервну копію за допомогою Time Machine? Як потім видалити файли з диска резервного копіювання?
nohillside

-1

Привіт так, це було простіше, ніж я думав, я просто натиснув на значок машини часу, потім натиснув на жорсткий диск, де потім машина часу вибирає резервні копії, які я не хочу (звичайним способом - утримуйте cmd та виберіть дати резервного копіювання. ви хочете видалити, потім натисніть клавішу delete на панелі інструментів «Файл» і низько, їх немає. Потім очистіть кошик, а потім перевірте місце, яке ви створили на жорсткому диску, де живе машина машини часу!

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