Гора. Sparsebundle на капсуле времени

4

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

Во-первых, мне нужно смонтировать раздел «Данные» Time Capsule:

mount_afp afp://user:pass@10.0.1.1/Data ~/Data

Затем я должен смонтировать .sparsebundle в разделе данных, который содержит файлы резервных копий моего Mac. Я не уверен, как это сделать.

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

Я хотел бы услышать лучшее решение для этого.

Даан
источник
Если вы используете настройки по умолчанию для удаленного резервного копирования Time Machine, то sparsebundle будет уже установлен или вы не были бы в состоянии сделать резервную копию ваших файлов постоянно! Объем (часто) просто не виден на вашем рабочем столе!
Кланомат
@klanomath Хорошо, но я также могу получить доступ к файлам резервных копий с помощью терминала?
Даан
Что вы хотите сделать со своим скриптом bash?
Кланомат
Я хочу запустить, tmutil compareчтобы сравнить разные резервные копии. Эта часть сценария работает, но мне все еще нужно смонтировать тома в Finder. Я хотел бы автоматизировать монтирование (и размонтировать).
Даан

Ответы:

4

Если вы настроили обычное резервное копирование Time Machine на Time Capsule, монтировать (или отключать) sparsebundle не нужно. Он уже смонтирован, иначе вы не сможете регулярно делать резервные копии своих данных.

Чтобы смонтировать удаленный пакет Time Machine и получить путь к нему, просто введите:

tmutil latestbackup

(или tmutil latestbackup > /dev/null 2>&1если вы не хотите никакого вывода)

Команда запускает монтирование sparsebundle, а вывод - это путь к вашей последней резервной копии.

При mountвходе вы увидите точки монтирования Time Capsule и вашего разреженного пакета.

Ваш результат будет примерно таким (пример списка):

/dev/disk1s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
//%user%@%IP% on /Volumes/%TimeCapsule% (afpfs, nobrowse)
/dev/disk2s2 on /Volumes/%Time Machine-Backups% (hfs, local, nodev, nosuid, journaled, nobrowse)

Вторая последняя строка - это общий ресурс Time Capsule, последняя строка (disk2s2) - смонтированный образ sparsebundle. Смонтированный общий ресурс / sparsebundle не виден в Finder, поскольку они помечены как nobrowse .

Для доступа к вашей резервной копии вы можете просто ввести что-то вроде:

cd "/Volumes/%Time Machine Backups%/Backups.backupdb/%LocalHostName%/

(Все термины, заключенные в знаки процента, зависят от вашей среды, и вы должны заменить их собственными именами / адресами - найдите их, погрузившись в папки с помощью cdи ls -la.)

klanomath
источник
Я думаю, что Time Capsule монтируется только тогда, когда он на самом деле делает резервную копию. В это время тома даже видны в Finder. Когда он не делает резервную копию, он не появляется в mountсписке.
Даан
ОК, измененный ответ.
Кланомат
Большое спасибо, это работает! Интересно, почему tmutil compareже не срабатывает крепление? Или, в качестве альтернативы, почему нет выделенной команды монтирования (например tmutil mount). Другими словами, я чувствую, что должен быть более «официальный» способ сделать это ... Есть мысли?
Даан
Проверяя много возможных вариантов / глаголов (например, initили mount) и много latestbackup
гуглив,
Я также посмотрел, и я думаю, что listbackupsэто лучший глагол, когда вы хотите сделать резервное сравнение. Теперь у меня есть: mapfile -t backups < <(tmutil listbackups). Это запустит монтирование и поместит все пути резервного копирования в массив. Затем вы можете легко найти пути для сравнения.
Даан