Удалите ненужные резервные копии из TimeMachine, чтобы освободить место


16

Я знаю, что самые старые резервные копии удаляются автоматически, когда на TimeMachine нет места для новых. Я также использую TimeCapsule для обмена файлами по WiFi, поэтому я хотел бы освободить место, удалив ненужные резервные копии:

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

  • Самые старые резервные копии, которые я знаю, мне не понадобятся. (Таким образом, запускать так же, как TimeMachine, автоматически, но раньше, чем диск становится пустым).



2
@whatyouhide Инструменты, которые предоставляет Apple, - это все Unix-команды, такие как tmutil compareGUI-интерфейс, и не имеют их. Большинство пользователей просто кладут свой старый накопитель на полку и покупают новый накопитель на 4 ТБ за 129 долларов и начинают резервное копирование, а не микроуправление. Есть много инструментов, помогающих управлять хранилищем, некоторые очень недорогие. Вы изучили контроль, который вы имеете с Time Machine?
bmike

Ответы:


7

Я использую эту статью, чтобы помочь мне в удалении файлов из Time Machine:

В нем говорится об удалении всех резервных копий одного файла, возможно, это не то, что вы ищете, но это определенно может решить первые проблемы (превью Lightroom). На практике проще удалить все резервные копии одного файла или все файлы в одной резервной копии, чем ввести и удалить только один файл из одной резервной копии.

Вот краткое резюме этой статьи:

  1. Открытая машина времени
  2. Выберите папку / файл, который вы хотите удалить из ваших резервных копий
  3. В меню «Параметры» в строке меню Finder (нажатие Ctrl недоступно в TM, не знаю почему) выберите «Удалить все резервные копии выбранного файла », где выбранный файл - это (очевидно!) Выбранный вами файл.

12

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

Вы также можете войти в интерфейс восстановления Time Machine и найти файлы, которые можно удалить с самого резервного диска, чтобы сэкономить место. Для этого выберите файл (-ы) и во всплывающем меню «Действие» (значок шестеренки) в окне «Средство поиска машины времени» выберите «Удалить все резервные копии ...». Обязательно удаляйте только те файлы, которые вам точно не понадобятся или вы хотите восстановить позже.

Затем вы можете использовать инструмент, такой как BackupLoupe, для анализа ваших резервных копий Time Machine, чтобы определить, сколько места занимает каждый интервал, сколько места занимает ваше среднее резервное копирование, сколько времени займет заполнение диска с текущей скоростью и т. Д.…

BackupLoupe

С таким уровнем детализации вы можете контролировать свои потребности в хранилище так же мало или с таким количеством деталей, как того требует ситуация. Этот инструмент помог мне определить проблемные резервные диски, компьютеры Mac с повреждением файловой системы (когда каждая резервная копия больше, чем должна, и т. Д.). Как только вы увидите, что хранится, вы можете удалить папки, целые снимки и настроить списки исключений из резервных копий быть в гармонии с вашими потребностями хранения и резервного копирования.


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», просмотром самой старой резервной копии всего диска, щелчком правой кнопки мыши и выбором «Удалить папку». Работает для меня.


Это работает. Как описано более точно в 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)

Я знаю, что это можно сделать более умным путем определения переменных и прочего, но, честно говоря, я не очень хорошо разбираюсь в сценариях оболочки. Я просто знаю, что другие сверхсложные не работали, но этот помог мне, поэтому здесь для потомков.


После выполнения этого необходимо снова выполнить резервное копирование, поскольку резервное копирование выполняется только для измененных файлов, поэтому резервная копия в формате lats содержит только файлы, измененные по сравнению с предыдущим. Я правильно понимаю?
36

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

Возможно, вам потребуется добавить приложение «Терминал» в «Системные настройки»> «Безопасность и конфиденциальность»> вкладка «Конфиденциальность»> «Полный доступ к диску».


0

Приложение Disk Inventory X действительно помогло мне обнаружить большие файлы на резервном диске. После этого я просто удалил большие файлы вручную.


Похоже, что это приложение не обновлялось с 2005 года. Каков ваш опыт использования его для удаления ненужных резервных копий Time Machine, как описано в вопросе?
nohillside

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

И вы делаете резервную копию, используя Time Machine? Как вы впоследствии удаляете файлы с резервного диска?
холме

-1

Привет, да, это было проще, чем я думал, я просто щелкнул значок машины времени, затем щелкнул на жестком диске, где машина времени затем выбрала резервные копии, которые мне не нужны (обычным способом - удерживайте cmd и выберите даты резервного копирования. Вы хотите удалить, затем нажмите «Удалить» на панели инструментов «Файл», и они исчезли. Затем очистите корзину, а затем проверьте пространство, которое вы создали на жестком диске, где живет Машина времени!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.