Обзоры

shallow-backup - бэкап настроек Mac в Git одной командой

shallow-backup - бэкап настроек Mac в Git одной командой

Что это

shallow-backup - это CLI-утилита для macOS, которая решает классическую проблему разработчиков: «купил новый MacBook, теперь надо настраивать всё заново». Программа делает снимок всех ваших настроек, списков пакетов, шрифтов и конфигов приложений, и сохраняет их в Git-репозиторий. На новой машине одна команда восстанавливает всё на место.

Инструмент написан на Python, распространяется через PyPI и Homebrew. Активно развивается с 2018 года: последний релиз 6.6 вышел в марте 2026, проект имеет 1300+ звёзд на GitHub. Лицензия MIT - можно использовать как угодно.

Главная идея shallow-backup - «bare metal backup для разработчика». Time Machine копирует всё подряд, включая огромные кэши Xcode и временные файлы. iCloud syncing работает только с приложениями Apple. Mackup использует симлинки в Dropbox, что хрупко и непрозрачно. shallow-backup просто копирует нужные файлы в Git-репозиторий, в результате - чистый, версионированный, легко читаемый бэкап.

Размер бэкапа обычно 5-50 МБ (тексты конфигов и списки пакетов), что позволяет хранить годы истории без расходов на хранилище. Можно использовать GitHub, GitLab, Bitbucket, или собственный Gitea-сервер.

Кому подойдёт

В первую очередь - разработчикам со сложным окружением. Если вы потратили часы на настройку .zshrc с алиасами, плагинами Oh My Zsh, конфигами Git, SSH-ключами, темами Terminal - shallow-backup сохранит всё это в один Git-коммит. Перед переходом на новый Mac - просто клонируете репозиторий и запускаете restore.

Во вторую - frontend-разработчикам с большими npm-стеками. У типичного веб-разработчика установлено 50-200 глобальных npm-пакетов: serve, http-server, vercel, netlify-cli, @anthropic-ai/claude-code, и так далее. Запоминать их вручную - невозможно. shallow-backup сохраняет полный список в npm-globals.txt, восстановление - один цикл npm install -g.

В третью - DevOps-инженерам, которые часто пересоздают свои рабочие машины из-за смены проектов или клиентов. Разработка в облачных VM, dotfile-менеджмент команды, переход с Apple Silicon на Intel и обратно - shallow-backup делает любые миграции тривиальными.

В четвёртую - freelancer-разработчикам, которые работают на нескольких проектах с разными конфигами. Можно держать несколько backup-репозиториев под разные клиенты и переключаться между настройками одной командой.

В пятую - студентам и техническим писателям, которые регулярно делают clean install macOS для тестирования. Восстановить разработческое окружение после полной переустановки - 10 минут вместо 4 часов.

Ключевые возможности

Бэкап dotfiles

Все ключевые конфигурационные файлы из домашней папки: .zshrc, .bashrc, .gitconfig, .ssh/config, .vimrc, .tmux.conf, .aws/credentials и десятки других. shallow-backup определяет их автоматически и копирует с сохранением структуры папок. Можно добавить кастомные пути в конфиг.

Списки пакетов из всех менеджеров

Инструмент сохраняет списки установленных пакетов из всех популярных менеджеров: Homebrew (формулы и каски), Mac App Store (через mas), npm (глобальные), pip, gem, cargo, MacPorts. Каждый список - отдельный текстовый файл в репозитории. На новом Mac запуск restore проходит по всем спискам и устанавливает пакеты заново.

Конфиги популярных редакторов

VSCode (settings.json, keybindings.json, список расширений), Sublime Text, Atom, Terminal.app - все эти настройки сохраняются автоматически без ручной конфигурации. Особенно полезно расширения VSCode: список из десятков extension'ов восстанавливается одной командой.

Шрифты

Пользовательские шрифты из ~/Library/Fonts копируются в backup. Если вы дизайнер или типограф с собственной коллекцией - не потеряются.

Git-интеграция

shallow-backup автоматически делает git add, git commit и git push после бэкапа. История изменений ваших настроек хранится в Git со всеми преимуществами: можно посмотреть когда что менялось, сделать diff между датами, откатиться к старой версии конфига.

Защита от утечки секретов

Встроена интеграция с trufflehog - инструментом для поиска API-ключей, токенов, паролей в коде. Перед коммитом shallow-backup сканирует все файлы и предупреждает если нашёл что-то подозрительное. Защищает от случайной утечки credentials в публичный репозиторий.

Интерактивный режим и CLI-флаги

Запуск без аргументов открывает интерактивное меню с галочками - выбираете что бэкапить. Для скриптов и CI - все опции доступны через CLI-флаги (--backup-all, --reinstall-packages и т.д.).

Условный бэкап

Через конфиг можно настроить условия: «бэкапить .ssh только если в нём нет файлов больше 1 МБ», «исключать файлы с расширением .log», «копировать только последние 30 дней истории команд». Гибкость для нестандартных случаев.

Плюсы и минусы

Плюсы:

  • Полностью бесплатно, лицензия MIT - можно форкать и модифицировать.
  • Активно развивается - в 2026 регулярные обновления, поддержка новых пакет-менеджеров.
  • Работает через Git - история, ветки, удалённые сервера, всё что вы знаете о Git применимо.
  • Маленький размер бэкапа (5-50 Mb), бесплатно хранится в любом Git-сервере.
  • Защита от утечки секретов через trufflehog.
  • Поддерживает все популярные пакет-менеджеры macOS: brew, mas, npm, pip, gem, cargo, MacPorts.
  • Установка через Homebrew (brew install shallow-backup) или pipx.
  • Простой restore: shallow-backup --reinstall-all на новом Mac.

Минусы:

  • CLI-only, нет графического интерфейса. Для тех кто избегает терминала - барьер.
  • Не бэкапит сами приложения, только их настройки. Программы устанавливаются заново через brew или App Store.
  • Не подходит для бэкапа документов, фотографий, видео - для этого Time Machine или iCloud.
  • Восстановление требует подключения к интернету (надо скачать пакеты).
  • Конфликты ветвей Git если бэкапить с двух Mac в один репозиторий без синхронизации.
  • Не сохраняет настройки macOS уровня системы (defaults, plist) - только пользовательские dotfiles.

Как установить и использовать

Скачайте shallow-backup со страницы программы на mac-soft.ru. Ссылка ведёт на GitHub-репозиторий с инструкциями.

Самый простой способ установки - через Homebrew:

brew install shallow-backup

Альтернативный вариант через pipx (для тех у кого Homebrew не используется):

pipx install shallow-backup

Первый запуск инициализирует конфиг в ~/.shallow-backup:

shallow-backup

Откроется интерактивное меню. Выберите «Setup new backup directory», укажите путь к Git-репозиторию (предварительно создайте на GitHub приватный репо и сделайте git clone).

Дальше выберите «Backup all» - программа сделает полный бэкап и покажет статистику. Через минуту в репозитории появятся папки с dotfiles, списками пакетов, конфигами.

Для автоматизации добавьте в crontab:

0 3 * * 0 /usr/local/bin/shallow-backup --backup-all --no-confirm

Это сделает еженедельный воскресный бэкап в 3 ночи без вмешательства.

Восстановление на новом Mac:

brew install shallow-backup
git clone git@github.com:user/dotfiles.git ~/.shallow-backup
shallow-backup --reinstall-all

Программа пройдёт по всем спискам пакетов и установит их через соответствующие менеджеры. Скопирует dotfiles в нужные места. Установит шрифты. Через 10-30 минут (зависит от количества пакетов) у вас на новом Mac полная копия старого окружения.

Альтернативы

Если shallow-backup не подходит - есть бесплатные конкуренты:

  • Mackup - синхронизация через симлинки в облако (Dropbox, iCloud). Менее прозрачно чем Git, но удобно для тех кто уже использует cloud-хранилище.
  • chezmoi - современный dotfile-менеджер с шаблонизацией для разных машин (одни конфиги для рабочего Mac, другие для домашнего). Сложнее в освоении, но мощнее.
  • dotbot - простейший CLI для symlink dotfiles в Git. Минималистичный, без бэкапа пакетов.
  • Nix Home Manager - декларативное управление настройками через Nix. Радикальный подход, но даёт reproducible builds.

shallow-backup занимает золотую середину: проще chezmoi, мощнее dotbot, прозрачнее Mackup.

Итог

shallow-backup - инструмент который должен быть у каждого активного разработчика на Mac. Полчаса на первоначальную настройку - и больше никогда не теряете время на воссоздание окружения после переустановки или переезда на новый Mac.

Git-интеграция делает бэкап надёжным, версионированным и приватным (свой репозиторий). Активная разработка с 2018 года показывает что инструмент проверен временем. Лицензия MIT и open source - можно проверить код, форкнуть, добавить свои фичи.

Если вы хоть раз сталкивались с переустановкой macOS или покупкой нового Mac - shallow-backup сэкономит вам часы и нервы. Установите сейчас, настройте за полчаса, и у вас всегда будет свежая копия рабочего окружения.

Скачать shallow-backup для macOS можно на mac-soft.ru. Программа бесплатная, без подписок, под MIT-лицензией.

Комментарии (0)

Пока нет комментариев.

Программы упомянутые в статье