Time Machine и резервное копирование

Рейтинг: 66.7% · 13 голосов
Подробный курс по macOS для разработчиков и админов: архитектура и Apple Silicon, терминал и zsh, Homebrew и пакеты, launchd и автоматизация, APFS и Time Machine, безопасность (SIP, Gatekeeper, TCC, FileVault), сеть, логи и диагностика, MDM и DDM, контейнеры и виртуализация, восстановление. По официальной документации Apple, актуально на 2026 (macOS 26 Tahoe).
Ответить
Аватара пользователя
Artem_MacAdmin
Сообщения: 47
Зарегистрирован: 11 май 2026, 05:31

Time Machine и резервное копирование

Сообщение Artem_MacAdmin »

Оглавление курса (47)
  1. Что такое macOS: Unix под капотом и место в 2026
  2. Архитектура macOS: XNU, тома и Signed System Volume
  3. Apple Silicon: ARM, Rosetta 2 и отличия от Intel
  4. Установка, обновление и восстановление macOS
  5. Finder, рабочий стол и продуктивность
  6. Системные настройки и их управление из CLI (defaults)
  7. Пользователи и группы: учётные записи и управление
  8. Терминал и zsh: командная строка macOS
  9. CLI на macOS: BSD-команды и отличия от Linux
  10. Настройка zsh: .zshrc, prompt, плагины
  11. Файловая система и права: POSIX, ACL, атрибуты, флаги
  12. Homebrew: пакетный менеджер для macOS
  13. Homebrew глубже: tap, Brewfile, services, обслуживание
  14. Другие пакеты: MacPorts, mas, Nix и App Store
  15. Установка приложений: .app, .dmg, .pkg и Gatekeeper
  16. Управление приложениями и их данные
  17. launchd и launchctl: система запуска macOS
  18. Свои службы и периодические задачи на launchd
  19. Автоматизация: Shortcuts, AppleScript и osascript
  20. Конфигурация как код: defaults, plist и профили
  21. APFS: снапшоты, клоны, контейнеры и шифрование
  22. Управление дисками: diskutil, образы и форматирование
  23. Time Machine и резервное копирование (вы здесь)
  24. Внешние диски, форматы и сетевые тома
  25. Модель безопасности macOS: SIP и целостность системы
  26. Gatekeeper, нотаризация и защита от вредоносов
  27. Приватность и TCC: разрешения на доступ
  28. FileVault: полнодисковое шифрование
  29. Связка ключей и управление секретами
  30. Сетевой экран и защита сети
  31. Сеть в macOS: настройка и инструменты
  32. Диагностика сети на Mac
  33. Общий доступ: SSH, экран, файлы, удалённое управление
  34. Процессы и ресурсы: мониторинг производительности
  35. Логи macOS: unified logging и диагностика
  36. Производительность и энергия: powermetrics, диагностика
  37. Энергия, сон и обслуживание системы
  38. Профили конфигурации и основы MDM
  39. Управление парком Mac: MDM, DDM и zero-touch (2026)
  40. Среда разработчика на Mac: Xcode CLT, git, версии
  41. Контейнеры на Mac: Docker Desktop, OrbStack, Apple container
  42. Виртуализация: Virtualization.framework, UTM, Linux и Windows
  43. Режимы загрузки и восстановление (Apple Silicon)
  44. Сброс, NVRAM, Safe Mode и сброс настроек
  45. Траблшутинг macOS: дерево решений по симптомам
  46. Место на диске и обслуживание системы
  47. Сквозной проект: настройка Mac как у профи + куда расти
Однажды у тебя умрёт диск. Или ты снесёшь не ту папку через rm -rf, или обновление встанет криво, или Mac украдут в кофейне. Вопрос не "если", а "когда". И в этот момент весь твой парк, твои дотфайлы, ключи, проекты и фотографии за десять лет держатся ровно на одной вещи - есть бэкап или нет. Time Machine - это встроенный в macOS механизм, который решает 90 процентов этой боли почти бесплатно. Но "почти" прячется в деталях: локальные снапшоты, которые незаметно съедают диск, шифрование, которое забывают включить, и иллюзия загрузочного клона, которая на Apple Silicon давно не работает так, как ты думаешь.

В этом уроке разберём резервное копирование Mac по-взрослому: как Time Machine устроен изнутри на APFS, как им рулить из терминала через tmutil, как восстанавливать отдельные файлы и систему целиком, и где Time Machine не хватает - там подключим restic, borg и Carbon Copy Cloner. И обязательно сведём всё в стратегию 3-2-1, без которой любой бэкап mac - это лотерея.

Как Time Machine устроен на APFS

Современный Time Machine - это не "копирование файлов раз в час" в наивном смысле. С macOS 11 и на всех версиях вплоть до macOS 26 Tahoe он работает поверх APFS и его снапшотов. Снапшот APFS - это мгновенный слепок состояния тома на уровне файловой системы. Он почти не занимает места в момент создания: фиксируются только метаданные, а реальные блоки данных начинают расходоваться лишь по мере того, как ты меняешь или удаляешь файлы (механика copy-on-write). Старая версия блока остаётся "привязана" к снапшоту, пока снапшот жив.

Отсюда две сущности, которые путают почти все:
  • Локальные снапшоты - живут на твоём системном диске. Time Machine делает их примерно раз в час и держит до 24 часов, плюс один снапшот последнего удачного бэкапа и снапшот перед установкой обновления macOS. Это твоя страховка, когда внешний диск не подключён.
  • Бэкапы на диске назначения - то, что Time Machine копирует на внешний диск или сетевой том. С APFS это тоже снапшоты, но на целевом томе, и они хранятся долго (часовые за сутки, суточные за месяц, недельные пока есть место).
Когда диск назначения недоступен (ноутбук без внешнего диска), Time Machine не простаивает - он продолжает копить локальные снапшоты. Подключишь диск - они выгрузятся на него. Это и есть ответ на вопрос "почему резервное копирование mac как-то работает, хотя диск дома".

Изображение

Настройка: диск назначения, шифрование, исключения

Базовая настройка - Системные настройки -> Основные -> Time Machine -> Добавить резервный диск. Дальше три вещи, которые надо сделать осознанно.

Шифрование. При добавлении диска macOS предложит "Шифровать резервные копии". Соглашайся всегда, если на бэкапе есть что-то личное (а оно есть). Без шифрования любой, кто унесёт твой внешний диск, читает с него всё - Time Machine не делает магии поверх FileVault системного диска, бэкап шифруется отдельным паролем. Потеряешь этот пароль - данные не восстановишь, так что клади его в приложение Пароли или в менеджер.

Что исключать. По умолчанию Time Machine бэкапит почти всё, кроме системных временных каталогов. Но часть данных бэкапить вредно или бессмысленно: гигабайтные кэши, образы виртуалок, локальные node_modules, папки облачных сервисов, которые и так синхронизируются. Исключения задаются в интерфейсе (кнопка Параметры -> список) или из CLI - об этом ниже. Грабли: если исключить каталог, который активно меняется и большой (например, ~/VirtualBox VMs), ты экономишь место и время каждого бэкапа.

Проверить, куда и как настроен бэкап:

Код: Выделить всё

$ tmutil destinationinfo
====================================================
Name          : Backup-4TB
Kind          : Local
Mount Point   : /Volumes/Backup-4TB
ID            : 9F1C2A77-3D4E-4A1B-9C2F-0E5B6A8D1234
Поле Kind = Local означает локальный/USB диск, для сетевого тома будет Network. ID - это идентификатор назначения, он понадобится, если у тебя несколько дисков ротацией.

tmutil: управление Time Machine из терминала

GUI хорош для разовых действий, но автоматизация, диагностика и работа на парке машин - это tmutil. Команда требует root для изменяющих операций, читающие работают и без него. Учти: на современных macOS терминалу нужен доступ Full Disk Access (Системные настройки -> Конфиденциальность и безопасность -> Полный доступ к диску), иначе tmutil latestbackup и подобные молча отвалятся с ошибкой прав.

Запустить бэкап прямо сейчас и дождаться завершения:

Код: Выделить всё

$ sudo tmutil startbackup --block
Backup completed successfully.
Флаг --block держит команду, пока бэкап не закончится (удобно в скриптах). Есть --rotation для ротации между несколькими дисками и --destination ID для конкретного назначения.

Посмотреть последний и все бэкапы:

Код: Выделить всё

$ tmutil latestbackup
/Volumes/Backup-4TB/2026-06-14-031502.backup

$ tmutil listbackups
/Volumes/Backup-4TB/2026-06-10-024417.backup
/Volumes/Backup-4TB/2026-06-12-030901.backup
/Volumes/Backup-4TB/2026-06-14-031502.backup
Имя бэкапа - это его метка времени в формате YYYY-MM-DD-HHMMSS. Флаг -t покажет только timestamp без полного пути, -m попробует смонтировать бэкапы и вывести точки монтирования.

Статус текущей операции в реальном времени:

Код: Выделить всё

$ tmutil status
Backup session status:
{
    ClientID = "com.apple.backupd";
    Running = 1;
    BackupPhase = Copying;
    Percent = "0.42";
    bytes = 4519243776;
    totalBytes = 10788896768;
}
Percent тут - доля 0..1, то есть 0.42 это 42 процента. Running = 1 значит бэкап идёт. Это золотая команда для мониторинга в скрипте: парсишь Percent и BackupPhase, понимаешь, на какой стадии застрял бэкап mac.

Работа с исключениями из CLI:

Код: Выделить всё

$ sudo tmutil addexclusion -p ~/Projects/bigrepo/node_modules
$ tmutil isexcluded ~/Projects/bigrepo/node_modules
[Excluded]  /Users/you/Projects/bigrepo/node_modules
Флаг -p делает исключение по фиксированному пути (path-based, хранится в настройках Time Machine). Без -p исключение пишется как расширенный атрибут (xattr) на сам объект и "путешествует" вместе с ним - полезно для отдельных файлов, но если объект пересоздаётся, xattr теряется. removeexclusion снимает исключение тем же синтаксисом.

Локальные снапшоты и проблема purgeable

Главные грабли Time Machine: ты смотришь "Об этом Mac -> Хранилище" и видишь, что свободно 200 ГБ, а реально записать большой файл не получается - система начинает тормозить и что-то удалять. Виновник - локальные снапшоты в категории purgeable (выгружаемое пространство).

Логика macOS: блоки, занятые локальными снапшотами Time Machine, считаются "доступными", потому что система может их освободить, когда место реально понадобится. Поэтому Finder и df показывают разную картину. df -h увидит том почти полным, а Finder скажет "свободно много" - просто часть этого "много" это purgeable снапшоты, которые ещё не удалены.

Посмотреть локальные снапшоты системного тома:

Код: Выделить всё

$ tmutil listlocalsnapshots /
com.apple.TimeMachine.2026-06-15-081210.local
com.apple.TimeMachine.2026-06-15-091015.local
com.apple.TimeMachine.2026-06-15-101102.local
Список дат по всем смонтированным томам:

Код: Выделить всё

$ tmutil listlocalsnapshotdates
Snapshot dates for all disks:
2026-06-15-081210
2026-06-15-091015
2026-06-15-101102
Когда диску реально нужно место, можно "проредить" снапшоты. thinlocalsnapshots просит файловую систему освободить заданный объём:

Код: Выделить всё

$ sudo tmutil thinlocalsnapshots / 21474836480 4
Thinning local snapshots:
2026-06-15-081210 ...
Thinned local snapshots:
2026-06-15-081210
Здесь первый аргумент - том (/), второй - сколько байт хочешь освободить (тут 20 ГБ), третий - срочность 1..4, где 4 максимально агрессивно. Удалить конкретный снапшот по дате на всех дисках:

Код: Выделить всё

$ sudo tmutil deletelocalsnapshots 2026-06-15-081210
Deleted local snapshot '2026-06-15-081210'
Важно: не нужно вручную сносить снапшоты "для профилактики" - macOS сама их выкидывает, когда место кончается, и держит максимум 24 часа. Чистка вручную осмысленна, когда ты прямо сейчас упёрся в нехватку места под большую операцию (запись образа, импорт видео) и не хочешь ждать, пока система раскачается. Также снапшоты можно полностью отключить, но тогда ты теряешь часовую страховку на ноутбуке без диска - думай, что важнее.

Восстановление: файлы, миграция, Recovery

Восстановление mac бывает трёх масштабов.

Отдельные файлы. Самый частый случай. Открываешь Time Machine из строки меню (или приложение), проваливаешься в нужный момент времени по "звёздному коридору", находишь файл, нажимаешь Восстановить. Из CLI то же делает tmutil restore - копирует объект из бэкапа в указанное место:

Код: Выделить всё

$ sudo tmutil restore -v \
  "/Volumes/Backup-4TB/2026-06-14-031502.backup/Macintosh HD/Users/you/work/report.key" \
  ~/work/report.key
Флаг -v - подробный вывод, последний аргумент - назначение. Восстанавливаются POSIX-права, ACL и xattr - это плюс tmutil перед обычным cp.

Перенос на новый Mac или после переустановки. Тут работает Ассистент миграции (Migration Assistant). Запускаешь его на новой машине, выбираешь источником диск Time Machine, и он переносит учётки, приложения, настройки и данные. Это штатный путь "пересел на новый Mac за вечер".

Полное восстановление системы. Если диск пуст или система не грузится - идёшь в Recovery. На Apple Silicon это зажатая кнопка питания до появления "Параметры загрузки" (на Intel - Command-R при старте). Оттуда либо Восстановить из Time Machine на чистую систему, либо переустановить macOS и затем подтянуть данные Ассистентом миграции. Запомни различие: Apple Silicon входит в Recovery через долгое удержание питания, не через комбинацию клавиш.

Альтернативы: CCC, restic, borg и миф загрузочного клона

Time Machine - отличная база, но не серебряная пуля. Где он слаб: один бэкап без версионности offsite, нет удобного шифрованного бэкапа в облако/на сервер, restore целиком зависит от целости одного диска.

Carbon Copy Cloner и загрузочный клон. Главное, что нужно усвоить про Apple Silicon: классический "загрузочный клон системы на внешний диск" фактически умер. Системный том (Signed System Volume) криптографически подписан и запечатан, и скопировать его побайтово сторонним софтом нельзя - только через встроенную в macOS утилиту asr, и даже она капризна. CCC может сделать загрузочную копию на Apple Silicon (через asr), но Bombich прямо рекомендует не полагаться на загрузочность: при крахе ты быстрее переустановишь macOS из интернета в Recovery, а данные восстановишь из обычной (не загрузочной) копии данных. Так что современный CCC - это в первую очередь отличный инкрементальный бэкап данных с гибким расписанием, а не "клон, с которого грузимся".

restic и borg для CLI-бэкапов. Когда нужен шифрованный, дедуплицированный, версионный бэкап на удалённый сервер или в S3 - ставь из Homebrew (на Apple Silicon он живёт в /opt/homebrew):

Код: Выделить всё

$ brew install restic
$ export RESTIC_REPOSITORY="sftp:backup@nas.local:/backups/mac"
$ export RESTIC_PASSWORD_FILE=~/.config/restic/pass
$ restic init
$ restic backup ~/work ~/Documents --exclude="node_modules"
restic шифрует на клиенте (твой сервер не видит данные), дедуплицирует на уровне блоков и хранит снапшоты, которые потом чистишь политикой restic forget --keep-daily 7 --keep-weekly 4. borg делает примерно то же, но классически через ssh на borg-сервер - выбирай по вкусу и инфраструктуре. Эти инструменты закрывают именно то, чего нет у Time Machine: offsite-копию с шифрованием и удобным CLI для автоматизации через launchd.

Стратегия 3-2-1

Всё выше складывается в одно правило, которое экономит нервы: 3-2-1. Три копии данных. На двух разных типах носителей. Одна копия - вне дома (offsite). Практический расклад для Mac:
  • Копия 1 - сами рабочие данные на встроенном SSD.
  • Копия 2 - Time Machine на внешний USB-диск (локально, быстрый restore файлов и миграция).
  • Копия 3 - restic/borg в облако или на NAS вне дома (на случай пожара, кражи, шифровальщика).
Time Machine закрывает "2", restic закрывает "1 offsite". И обязательно проверяй восстановление - бэкап, из которого ты ни разу не доставал файл, это шанс, а не гарантия. Раз в квартал доставай случайный файл и сверяй контрольную сумму.

Мини-лаба

Повтори руками, 15 минут:
  • Подключи внешний диск, добавь его в Time Machine с шифрованием, пароль положи в приложение Пароли.
  • Дай Терминалу Full Disk Access, затем запусти sudo tmutil startbackup --block и параллельно во втором окне следи через watch-петлю на tmutil status.
  • Исключи тестовую папку: sudo tmutil addexclusion -p ~/tmp_excl и проверь tmutil isexcluded ~/tmp_excl.
  • Посмотри локальные снапшоты: tmutil listlocalsnapshots / и tmutil listlocalsnapshotdates.
  • Создай файл, измени его, восстанови предыдущую версию через интерфейс Time Machine. Сравни df -h / и "свободно" в Finder - найди разницу за счёт purgeable.
  • Поставь brew install restic, инициализируй локальный репозиторий restic init -r ~/restic-test и сделай restic backup ~/Documents.
Контрольные вопросы
  • Почему df показывает диск почти полным, а Finder говорит "свободно много"? Что это за пространство и как его освободить?
  • Чем отличается tmutil deletelocalsnapshots от thinlocalsnapshots и когда какой использовать?
  • Почему на Apple Silicon "загрузочный клон" системы практически не работает и что делать вместо него при полном крахе диска?
  • Как разложить твою личную схему бэкапа по правилу 3-2-1, какие инструменты на какую цифру ложатся?
Итог

Time Machine - это твоя ежечасная страховка: снапшоты APFS локально, полноценные бэкапы на внешний диск, шифрование одним кликом и восстановление от одного файла до всей системы через Ассистент миграции и Recovery. tmutil даёт над этим полный контроль из терминала и автоматизацию. Локальные снапшоты в purgeable - не баг, а фича, но её надо понимать, чтобы не пугаться цифр хранилища. А чтобы бэкап mac был настоящим, а не самоуспокоением - добей картину offsite-копией через restic или borg и живи по 3-2-1. Проверяй восстановление до того, как оно понадобится по-настоящему.
👍1 ❤️2 🔥1 😄 🤔
Аватара пользователя
postgresandy
Сообщения: 1
Зарегистрирован: 27 май 2026, 03:48

Re: Time Machine и резервное копирование

Сообщение postgresandy »

Вот это про purgeable прям больно знакомо. Месяц думал что у меня диск глючит, OmniDiskSweeper показывал занято, а Finder врал что свободно. Оказалось снапшоты Time Machine. thinlocalsnapshots спас, спасибо.
👍2 ❤️1 🔥 😄 🤔
Аватара пользователя
mauro
Сообщения: 1
Зарегистрирован: 24 май 2026, 13:46

Re: Time Machine и резервное копирование

Сообщение mauro »

Вопрос по Apple Silicon: правильно понял, что грузиться с внешнего диска как раньше уже нельзя и смысла в загрузочном клоне почти нет? Тогда CCC беру только ради копии данных, а систему в случае чего переставлю из Recovery?
👍 ❤️ 🔥 😄 🤔
Ответить
← Предыдущая глава
Управление дисками: diskutil, образы и форматирование
Следующая глава →
Внешние диски, форматы и сетевые тома

Все главы курса «macOS для профи: администрирование, терминал и Homebrew»

Поделиться темой: ✈ Telegram VK
Похожие запросы: Управление дисками на MacРезервное копирование Mac (Time Machine)

Вернуться в «macOS для профи: администрирование, терминал и Homebrew»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей