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

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

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

  

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

     

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

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

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

186 голосов | спросил Jesper Rønn-Jensen 4 FebruaryEurope/MoscowbSat, 04 Feb 2012 23:36:35 +0400000000pmSat, 04 Feb 2012 23:36:35 +040012 2012, 23:36:35

8 ответов


197

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

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

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

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

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

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

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

sudo tmutil machinedirectory
ответил bmike 6 J000000Friday12 2012, 00:16:42
75

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

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

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

ответил Dudeas 29 J000000Sunday12 2012, 03:17:50
31

Для Mavericks /Yosemite

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

Он запросит пароль, и вы закончите

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

ответил Inder Kumar Rathore 2 FebruaryEurope/MoscowbSun, 02 Feb 2014 19:57:12 +0400000000pmSun, 02 Feb 2014 19:57:12 +040014 2014, 19:57:12
15

скрипт bash:

COMPUTER_NAME=$(/usr/sbin/scutil --get ComputerName)
NBACKUPS=$(/usr/bin/tmutil listbackups |
  /usr/bin/grep "$COMPUTER_NAME" |
  /usr/bin/wc -l)
OLDEST_BACKUP=$(/usr/bin/tmutil listbackups |
  /usr/bin/grep "$COMPUTER_NAME" |
  /usr/bin/head -n1)
LATEST_BACKUP=$(/usr/bin/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: /usr/bin/sudo /usr/bin/tmutil delete "$OLDEST_BACKUP"
/usr/bin/sudo time /usr/bin/tmutil delete "$OLDEST_BACKUP"
;;
*)
 echo No change
 ;;
 esac
 else
 echo "No backup available for deletion"
 fi
ответил user36971 20 ThuEurope/Moscow2012-12-20T05:24:05+04:00Europe/Moscow12bEurope/MoscowThu, 20 Dec 2012 05:24:05 +0400 2012, 05:24:05
13

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

tmutil delete действительно удаляет резервные копии, но фактически не восстанавливает пространство, которое они занимали, по крайней мере, не гарантированным образом. Я потратил около 2 целых дней на удаление резервных копий с> 2y назад, что в соответствии с окончательным сообщением завершения составило ок. 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, затрачивая гораздо меньше времени на поиск на диске и используя меньше оперативной памяти (на самом деле это было завершено за время, когда мне потребовалось написать этот ответ).

ответил RJVB 7 J0000006Europe/Moscow 2016, 12:10:10
10

Если 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

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

ответил Toland H 9 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 09 Sep 2013 15:01:41 +0400 2013, 15:01:41
-3

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

#sudo tmutil disablelocal

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

ответил Brian K 20 FebruaryEurope/MoscowbWed, 20 Feb 2013 04:18:09 +0400000000amWed, 20 Feb 2013 04:18:09 +040013 2013, 04:18:09
-3

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

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

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

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

  1. Введите Time Machine и перейдите к самому старому резервному копированию, которое все еще указано
  2. Выберите его и нажмите маленькую шестерню, а затем выберите «Удалить резервное копирование»
  3. Введите свой пароль и подождите несколько минут.
  4. Перейдите в интерфейс Machine Machine и вернитесь снова. Теперь вам нужно, чтобы ваша машина времени указала правильную резервную копию.
ответил Maher 19 AM000000120000000031 2012, 00:28:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132