Я использую 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.
Вопрос в том, как это сделать вручную?
Будьте осторожны с 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 tmutil delete
а затем перетащить все резервные копии, которые хотите удалить, в окно терминала. @drfrogsplat на странице руководства упоминается, что эта команда может удалять резервные копии, созданные на другом компьютере.sudo tmutil listbackups
. Откройте эту папку в Finder, и вы можете выбрать резервные копии, которые хотите удалить, а затем перетащить их в окно терминала после ввода sudo tmutil delete
. Он удалит их один за другим. Я считаю, что это супер изящно.-p
, например sudo tmutil delete -p /path /to/the/directory
.Самый простой способ:
Это обеспечивает точность каталога резервных копий и целостность ваших данных.
tmutil delete
Для Маверикс / Йосемити
Он спросит пароль, и все готово.
cancel
в левом нижнем углу. (По-видимому, вы «отменяете» восстановление файлов; удаление, по-видимому, не считается отмененным, когда вы это делаете.)Я задавал себе этот самый вопрос, и ответы здесь, безусловно, помогли. Однако есть аспект, которого не хватает, который может быть новой «деталью» реализации, которой не существовало, когда на этот вопрос был дан ответ.
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, затрачивая гораздо меньше времени на поиск на диске и используя меньше оперативной памяти (на самом деле она завершилась за то время, которое мне потребовалось, чтобы написать этот ответ).
Этот сценарий автоматически найдет самую старую резервную копию 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
Y
и ввести пароль администратора, чтобы удалить его.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
Обратите внимание, что я не включил проверку имени компьютера в свой сценарий, поэтому, если вы используете один резервный диск совместно с несколькими компьютерами, вам может потребоваться добавить дополнительную проверку.
tmutil delete
для удаления всех резервных копий за данный год, они будут удалены от самых старых до самых новых. Кстати, в большинстве случаев использование подстановочного знака намного проще, чем использование скрипта :)sudo tmutil delete 2016-06-12-184217 2016-06-19-080529 2016-06-26-092218
просто откройте терминал,
#sudotmutildisablelocal
это должно освободить место без удаления резервных копий TM
Вот шаг за шагом, что я сделал, чтобы удалить свою старую резервную копию
sudo rm -rvf
Выпейте кофе или посмотрите фильм, когда процесс будет завершен, вам, возможно, придется повторить его снова для некоторых папок, которые не нужно удалять.
Когда все ваши старые папки исчезнут, Time Machine необходимо обновить свою базу данных. Вот способ заставить Time Machine обновиться.
sudo rm -rvf
Time Machine сломается. Команда rm
является альтернативой командной строки предложению удалить из Finder внизу http://pondini.org/TM/12.html
Джеймс Гаррис
Йеспер Ронн-Йенсен
гамов
Рабскатран