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

Я использую Time Capsule для резервного копирования, и теперь я хочу, чтобы диск выполнял резервное копирование данных с дополнительного Mac. Но диск заполнен старыми резервными копиями с Mac 1. Просто не хватает места для резервной копии для Mac 2.

Я получаю это сообщение об ошибке при запуске резервного копирования Time Machine:

Time Machine не удалось выполнить резервное копирование. Эта резервная копия слишком велика для резервного диска. Для резервной копии требуется 28,68 ГБ, но доступно только 626,2 МБ.

Time Machine требуется рабочее пространство на резервном диске в дополнение к пространству, необходимому для хранения резервных копий. Откройте настройки Time Machine, чтобы выбрать резервный диск большего размера или уменьшить размер резервной копии, исключив файлы.

Я знаю, что Time Machine сама может удалять старые резервные копии, когда ей нужно больше места. Но в этом случае резервные копии Mac 1 не удаляются, чтобы освободить место для Mac 2.

Вопрос в том, как это сделать вручную?

Учитывая, насколько дешевы внешние накопители, у меня возникнет соблазн купить один и использовать его для дополнительной машины. Я предпочитаю Elements: amazon.com/Western-Digital-Elements-External-WDBAAU0010HBK-NESN/…
@james.garriss хорошее замечание :) Однако мне все еще нужно поменять местами диски в моей капсуле времени :)
Кто-нибудь знает, есть ли способ (без написания сценария) попросить TM сохранять только 1 резервную копию в месяц для резервной копии старше 1 года?
Разве вы не можете сделать 2 разных раздела на своем диске TM и выбрать другой раздел для каждого Mac?

Ответы (8)

Будьте осторожны с sudo и убедитесь, что вы выбрали правильные файлы Mac, поскольку нет отмены или подтверждения следующей команды:

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/old_mac_name

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

Вы можете использовать этот tmutilинструмент для удаления резервных копий по одной.

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/mac_name/YYYY-MM-DD-hhmmss

Поскольку tmutilон был представлен в Lion, он не будет работать в более ранних версиях ОС.

Если вы хотите получить текущий каталог резервных копий (может быть определено несколько мест назначения, и только одно из них будет «текущим»)

sudo tmutil machinedirectory

Если вы выполняете резервное копирование на общий сетевой ресурс, у вас может быть разреженное хранилище пакетов, и если это так, его также необходимо сжать .

sudo hdiutil compact /Volumes/drive_name/Backups.backupdb/mac_name.sparsebundle
Работал как шарм. У меня были старые резервные копии, которые были огромными и отсоединены от исходного набора машин времени из-за изменений на жестком диске. Я не мог удалить их с помощью sudo rm (что странно), но это помогло. Спасибо!
У меня проблема: имя моего Mac такое же, но когда я получил новый жесткий диск, у него было новое имя, и поэтому у меня есть два разных каталога в каждой папке с отметкой времени, и я хотел бы удалить только резервные копии из моего старого жесткий диск, причем не новый. Это возможно? Я попытался использовать путь `/Volumes/volume_name/Backups.backupdb/mac_name/YYYY-MM-DD-hhmmss/old_volume_name' с удалением tmutil, но ошибка «Недопустимая цель удаления. (ошибка 64)» Любые мысли о том, как удалить эти резервные копии?
# man tmutil Нет ручного ввода для tmutil # tmutil -bash: tmutil: команда не найдена Так где же эта команда tmutil? Нужно ли мне что-то более новое, чем Snow Leopard, чтобы получить его?
Хотя это позволяет вам удалить резервную копию Mac № 1 с Mac № 2, кажется, что было бы безопаснее сделать это через интерфейс Time Machine на Mac № 1 (если у вас есть доступ). Кроме того, я считаю, что удаление полных резервных копий через интерфейс TM работает вплоть до появления TM.
@drfrogsplat да, но при работе со старыми резервными копиями исходный Mac часто оказывается мертвым. В моем случае я пытаюсь освободить место на резервном диске, чтобы использовать его для резервного копирования нового Mac.
Я думаю, что эта команда - путь. Он даже поддерживает подстановочные знаки, которые полезны для удаления ряда резервных копий, например, всех резервных копий за определенный год: sudo tmutil delete /Volumes/BackupName/Backups.backupdb/MacName/2013-*
Быстрый вопрос. Разве TM не ставит жесткие ссылки на неизмененные файлы в новых резервных копиях? Означает ли это, что если у вас есть видеофайл, который не изменился с момента вашей первой резервной копии, и вы удалите эту резервную копию, он исчезнет из всех последующих резервных копий?
@square_eyes Удаление жестко связанных файлов работает иначе. Допустим, есть 100 интервалов с одним и тем же файлом. Файл существует на диске один раз, но количество ссылок равно 100. Когда вы удаляете один файл, эта запись каталога удаляется там, где вы удалили, и количество ссылок теперь равно 99. Только когда количество ссылок становится равным 0, сам файл удаляется. Все остальные удаления просто удаляют запись каталога.
Нет необходимости удалять резервные копии одну за другой. Вы можете ввести, sudo tmutil delete а затем перетащить все резервные копии, которые хотите удалить, в окно терминала. @drfrogsplat на странице руководства упоминается, что эта команда может удалять резервные копии, созданные на другом компьютере.
@pointum правильный. Кроме того, если вы хотите остаться в терминале, вы можете использовать подстановочные знаки, например: «sudo tmutil delete 2015-*». Это может быть медленный процесс, особенно с вращающимися дисками, поэтому удаление нескольких файлов имеет решающее значение для здравомыслия и эффективности.
Чтобы найти расположение ваших резервных копий, вы можете запустить sudo tmutil listbackups. Откройте эту папку в Finder, и вы можете выбрать резервные копии, которые хотите удалить, а затем перетащить их в окно терминала после ввода sudo tmutil delete . Он удалит их один за другим. Я считаю, что это супер изящно.
Начиная с macOS 10.14.5, терминальное приложение (например, iTerm2), выполняющее эти команды tmutil, требует привилегии полного доступа к диску. Откройте «Системные настройки» > «Безопасность и конфиденциальность» > «Конфиденциальность» > «Полный доступ к диску» и предоставьте привилегию, зарегистрировав приложение. (Удаление привилегии из приложения после выполнения задачи может быть полезным для безопасности.)
Для macOS 11.5.1 требуется новый параметр -p, например sudo tmutil delete -p /path /to/the/directory.

Самый простой способ:

  1. Введите машину времени (на Mac, резервную копию которого вы хотите удалить)
  2. Перейдите к моменту времени, который вы хотите удалить
  3. Выберите значок, который выглядит как шестеренка в поисковике, и выберите «Удалить резервную копию» (в Mavericks: щелкните правой кнопкой мыши в окне поиска и выберите «Удалить резервную копию»).

Это обеспечивает точность каталога резервных копий и целостность ваших данных.

@drfrogsplat очень правильно говорит, что использование графического интерфейса, предоставляемого Apple, является лучшим способом (работает во всех версиях) для удаления резервной копии и менее подвержено ошибкам, поскольку есть несколько визуальных отзывов (если вы внимательно посмотрите) и проверка перед вводом ваш пароль, чтобы убедиться, что вы знаете, что удаление является необратимым.
Я не вижу пункт удаления резервной копии на Mavericks в меню Cog.
@brainray Я отправил ответ для индивидуалистов
За исключением случаев, когда он выполняет частичное удаление (по какой-либо причине), он забывает, что частичная резервная копия существует, поэтому вы не можете удалить ее только с помощьюtmutil delete
Это не работает, если у вас есть проблема "Ожидание...". apple.stackexchange.com/questions/207787/… Ожидание не всегда работает.

Для Маверикс / Йосемити

  1. Введите машину времени
  2. Выберите резервную копию
  3. Щелкните правой кнопкой мыши резервную копию (в окне поиска)
  4. Выберите «Удалить резервную копию».

Он спросит пароль, и все готово.

введите описание изображения здесь

Щелкните правой кнопкой мыши резервную копию: где?
Вам будет показано окно поиска, щелкните правой кнопкой мыши в середине окна, и вам будет показан список параметров.
Стоит отметить, что Time Machine не будет выполнять удаление и не будет запрашивать ваш пароль, пока вы не выйдете из Time Machine. И процедура выхода из Time Machine после выбора файлов и папок для удаления тоже не очевидна: нужно нажать cancelв левом нижнем углу. (По-видимому, вы «отменяете» восстановление файлов; удаление, по-видимому, не считается отмененным, когда вы это делаете.)
Это также работало для меня с другой машины. Мой старый MBP сгорел, мой новый имеет другие имена жестких дисков и разделы и т. д. Наконец, он заполнил мой диск TM, и я не хочу удалять все резервные копии моей старой машины. Итак, вы удерживаете Option, нажимаете на Time Machine в строке меню и «Просматриваете другие резервные диски». Я смог получить первую старую резервную копию, подключив диск с таким же именем. Оттуда я мог бы перейти к старой структуре дисков и использовать этот совет для удаления действительно старых резервных копий.
Или просто нажмите на корневую папку устройства на боковой панели (чтобы появилась старая структура раздела и диска). В моем случае «Устройства -> Macbook Pro»
Если зрители этого вопроса сочтут это полезным, в Mac OS High Sierra (2018) процесс может быть даже более привередливым, чем описано здесь. Процесс удаления резервных копий на новом MacBookPro может быть странным и удивительным: (1) «Войти в Time Machine» (2) перейти к резервной копии, которую вы хотите удалить (3) контекстное меню предлагает «удалить все резервные копии, прежде чем ... " (4) когда вы это сделаете, всплывающее окно может оказаться скрытым другими окнами и выглядеть так, как будто ваш экран заблокирован; найдите его край, нажмите на него, чтобы увидеть, а затем вам нужно будет предоставить доступ администратора к Time Machine ...
Как только вы это сделаете, будет задержка... Потом окажется, что ничего не произошло. Затем вы нажимаете показанную кнопку отмены, чтобы выйти из пользовательского интерфейса, и теперь появится всплывающее окно, показывающее статус попытки удалить резервные копии. Это всплывающее окно может быть скрыто за другими окнами, поэтому, если вы его не ищете, вы можете попытаться отключить резервный диск, пока на него все еще выполняется запись. Найдите всплывающее окно и убедитесь, что оно завершено, прежде чем отключать диск, используемый для ваших резервных копий. Этот опыт произошел при работе с полными резервными копиями, запускаемыми вручную, сохраненными на ext HD в HFS.
Это ничего не сделало для меня. Я выбрал каталоги для удаления, щелкнул Control, удалил, подтвердил, «отменил» из TM и… ничего, просто вернулся в Finder (High Sierra).

Я задавал себе этот самый вопрос, и ответы здесь, безусловно, помогли. Однако есть аспект, которого не хватает, который может быть новой «деталью» реализации, которой не существовало, когда на этот вопрос был дан ответ.

tmutil deleteдействительно удаляет резервные копии, но на самом деле не восстанавливает занимаемое ими пространство, по крайней мере, не гарантированно. Я потратил около 2 дней на удаление резервных копий более чем 2-летней давности, что, согласно окончательному сообщению о завершении, составило ок. 400Гб данных. Я видел, как индикатор свободного места для резервных копий увеличился соответственно один раз , но после следующего резервного копирования я снова упал до 7% доступного пространства (использовано 858 ГБ вместо примерно 450 ГБ). Это действительно поставило меня в тупик.

Ответ на эту загадку дан здесь: http://blog.hawkimedia.com/2012/08/reclaiming-a-timemachine-volumes-disk-space/ Короче говоря, вам нужно сжать разреженный пакет, который фактически содержит резервную копию. если он размещен на сетевом диске или на диске, не отформатированном в HFS+. У меня нет резервных копий TM, которые не размещены в разреженном пакете, поэтому я не могу проверить, действительно ли использование tmutil deleteих восстанавливает бесплатно. Вполне может быть, а тот факт, что этого нет на Time Capsule, может быть просто особенностью протокола разреженного пакета. Команда для выполнения sudo tmutil deleteпосле sudo hdiutil compact /Volumes/YourTimeMachineDisk/YourBackupName.sparsebundle. В моем случае это сообщило

Starting to compact…
Reclaiming free space…
...................................................................................................................................
Finishing compaction…
Reclaimed 403.2 GB out of 583.5 GB possible.

Хорошей новостью является то, что эта команда заняла лишь часть времени, которое потребовалось tmutil, затрачивая гораздо меньше времени на поиск на диске и используя меньше оперативной памяти (на самом деле она завершилась за то время, которое мне потребовалось, чтобы написать этот ответ).

Сейчас я удаляю резервные копии без sparsebundle, и кажется, что пространство освобождается без каких-либо дополнительных действий.

Этот сценарий автоматически найдет самую старую резервную копию TM для вашего компьютера, сообщит вам, какая из резервных копий является самой старой и самой новой, и предложит вам удалить самую старую резервную копию. Вы должны ввести Yи ввести пароль администратора, чтобы удалить его.

баш скрипт:

COMPUTER_NAME=$(scutil --get ComputerName)
NBACKUPS=$(tmutil listbackups | grep "$COMPUTER_NAME" | wc -l)
OLDEST_BACKUP=$(tmutil listbackups | grep "$COMPUTER_NAME" | head -n1)
LATEST_BACKUP=$(tmutil latestbackup)
echo Latest backup: $LATEST_BACKUP

if [[ -n "$LATEST_BACKUP" && "$LATEST_BACKUP" != "$OLDEST_BACKUP" ]]; then
     echo -n "$NBACKUPS backups. Delete oldest: ${OLDEST_BACKUP##*/} [y/N]? "
     read answer
     case $answer in
         y*)
             echo Running: sudo tmutil delete "$OLDEST_BACKUP"
             sudo time tmutil delete "$OLDEST_BACKUP"
             ;;
         *)
             echo No change
             ;;
     esac
 else
     echo "No backup available for deletion"
 fi
Таким образом, этот сценарий автоматически найдет самую старую резервную копию TM для вашего компьютера, сообщит вам, какая из резервных копий является самой старой и самой новой, и предложит вам удалить самую старую резервную копию. Вы должны ввести Yи ввести пароль администратора, чтобы удалить его.
Обратите внимание, что это не приведет к автоматическому уменьшению размера файлов резервных копий sparsebundle. Вам придется войти и бежатьsudo hdiutil compact /path/to/disk-image

Если Time Machine действительно только резервирует различия, удаление в обратном порядке — это не то, что вам нужно. Кроме того, учитывая, что каждое удаление может занять некоторое время, было бы неплохо иметь скрипт, который удалит следующий после завершения текущего.

Следуя приведенному выше примеру сценария user36971 , я написал сценарий, который удалит все резервные копии из указанного и более раннего:

#!/bin/bash

if [ -z "$1" ]
then
    echo "must specify backup id: YYYY-MM-DD-HHMMSS"
    exit 1
fi

FOUND_BACKUP=0;
BACKUPS=""
while read line; do
    if [[ "${line}" == *$1* ]]
    then
        FOUND_BACKUP=1;
    fi

    if [ "${FOUND_BACKUP}" == "1" ]
    then
        BACKUPS+="${line}"$'\n'
    fi
done < <(/usr/bin/tmutil listbackups | tail -r)

if [ "${FOUND_BACKUP}" == "0" ]
then
    exit 1
fi

printf '%s' "$BACKUPS"

echo -n "Delete above backups? [y/N]? "
read answer
case $answer in
    y*)
        while read line; do
            if [ -n "${line}" ]
            then
                echo Running: /usr/bin/sudo /usr/bin/tmutil delete "${line}"
                /usr/bin/sudo time /usr/bin/tmutil delete "${line}"
            fi
        done < <(echo "${BACKUPS}")
        ;;
    *)
        echo No change
        ;;
esac

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

TM создает резервную копию только дельты при каждом запуске, но сохраняет полную копию при каждом запуске на резервном диске. Для файлов, которые не изменялись между запусками (это означает, что большинство из них), просто добавляется новая запись в каталоге. Это может означать, что если у вас есть только небольшие дельты между запусками, вам, возможно, придется удалить много резервных копий, прежде чем вы заметите значительное увеличение свободного места.
Порядок удаления резервных копий не имеет значения. Действительно, если вы используете подстановочный знак tmutil deleteдля удаления всех резервных копий за данный год, они будут удалены от самых старых до самых новых. Кстати, в большинстве случаев использование подстановочного знака намного проще, чем использование скрипта :)
Я бы рекомендовал добавить printf '%s' "$BACKUPS" перед строкой удаления резервных копий, чтобы обеспечить лучшую обратную связь.
Я могу удалить несколько резервных копий без использования while, например:sudo tmutil delete 2016-06-12-184217 2016-06-19-080529 2016-06-26-092218

просто откройте терминал,

#sudotmutildisablelocal

это должно освободить место без удаления резервных копий TM

Это отключит локальные моментальные снимки Time Machine с внутреннего диска, а не то, о чем спрашивает OP.
Да, это освобождает место только на загрузочном томе Mac, а не на месте назначения. Полезно, но должно быть по другому вопросу ИМО.

Вот шаг за шагом, что я сделал, чтобы удалить свою старую резервную копию

  1. Открыть диск машины времени
  2. Найдите и откройте папку Backups.backupdb.
  3. Перейти к просмотру по дате и выбрать самый старый сверху
  4. Выберите резервную копию, которую хотите удалить
  5. Откройте терминал и введитеsudo rm -rvf
  6. Перетащите старые папки, которые вы хотите удалить, в окно терминала.
  7. Введите пароль пользователя в строке

Выпейте кофе или посмотрите фильм, когда процесс будет завершен, вам, возможно, придется повторить его снова для некоторых папок, которые не нужно удалять.

Когда все ваши старые папки исчезнут, Time Machine необходимо обновить свою базу данных. Вот способ заставить Time Machine обновиться.

  1. Войдите в Time Machine и перейдите к самой старой резервной копии, которая все еще указана
  2. Выберите его и нажмите на маленькую шестеренку, а затем выберите «Удалить резервную копию».
  3. Введите пароль и подождите несколько минут
  4. Выйдите из интерфейса Time Machine и вернитесь снова. Теперь у вас должна быть ваша Time Machine, в которой указана правильная резервная копия.
Не делай этого. Time Machine использует сложную систему ссылок. Вы можете сломать свои резервные копии. См. www.pondini.org/TM/Home.html .
Прочитав http://pondini.org/TM/Works.html , я не вижу причин, по которым удаление старых резервных копий с помощью sudo rm -rvfTime Machine сломается. Команда rmявляется альтернативой командной строки предложению удалить из Finder внизу http://pondini.org/TM/12.html