2026 Аренда Mac Mini: долгая эксплуатация и матрица бэкапов — логический экспорт MySQL и PostgreSQL, сжатие, ночные окна и пороги диска

Чтение: 8 мин

Команды, которые арендуют Mac Mini под 7×24 или ночной пакетный режим с MySQL и PostgreSQL, теряют восстановимость, когда поток в gzip маскирует обрыв пайпа, когда cron накладывается сам на себя без flock, а рост локальных снапшотов APFS съедает запас до начала тяжёлого mysqldump.

Ниже: матрица дампов, аренда vs покупка, таблица mysqldump/pg_dump, gzip и split, cron/launchd, водоразделы и ретенция, алерты. См. матрицу 7×24, FAQ APFS, batch-квоты; блог, главная.

Почему логические бэкапы MySQL и PostgreSQL ломаются на арендованной Mac Mini

  1. Тихие обрезанные файлы. Пайп в gzip без set -o pipefail скрывает оборванный дамп: архив на диске выглядит «нормальным», пока восстановление не упадёт посередине.
  2. Параллелизм без блокировок. Наложение cron грузит InnoDB и autovacuum Postgres и вынуждает дамп выходить за ночное окно.
  3. Скалы по диску. Локальные снапшоты Time Machine, кэши Xcode и толстые логи конкурируют с потоком SQL, если перед каждым прогоном нет явной проверки водораздела свободного места.

Матрица: логический паттерн дампа против полосы 7×24 и ночного batch

Одна полоса на том базы, явные exit-коды, на общих путях — flock; тяжёлые дампы смещайте в ночь по TZ узла.

Паттерн Когда уместен Ограждения
mysqldump SQL и single-transaction InnoDB и нужен переносимый текстовый снимок без остановки писателей --single-transaction --routines --triggers; при миграции без GTID — --set-gtid-purged=OFF по политике
pg_dump каталоговый формат Планируется параллельное pg_restore или выборочная подзагрузка таблиц -Fd; сначала стадия на локальный SSD, не на сетевой том
Микродампы 7×24 Небольшая схема и нужны частые логические контрольные точки в объектное хранилище Не более одного тяжёлого дампа на том; следить за VNC и ротацией логов
Ночной массовый экспорт Крупные таблицы терпят тихое окно и вежливое соседство на shared-хосте launchd по календарю плюс ThrottleInterval не меньше ста двадцати секунд

Пороги «арендовать vs купить» для Mac Mini под тяжёлые бэкапы

Аренда — при пульсирующей нагрузке дампов, коротком горизонте, желании свежего Apple Silicon без перепродажи или быстром выделении чистого узла под регламент.

Покупка — при выгодном TCO за тридцать шесть месяцев, фиксированных серийниках под аудит или своём colo у VLAN баз; иначе аренда даёт отладить ретенцию и алерты до капекс.

Таблица параметров mysqldump и pg_dump

Задача mysqldump pg_dump
Согласованное чтение --single-transaction для InnoDB Снимок MVCC по умолчанию; отложенные ограничения включайте только осознанно
Схема и данные --routines --events --triggers Область через --schema или --data-only по сценарию
Очень большие таблицы --quick для потоковой выдачи строк -Fd и параллельные задания на restore
Роли и гранты --flush-privileges при переносе пользователей Глобали отдельным заданием pg_dumpall --globals-only

Пароли и сокеты — через EnvironmentVariables в plist или файл 0600, не в истории shell.

Сжатие и стратегия разбиения на тома (split)

На M4: gzip -6; при поддержке приёмником — zstd -10.

  • После gzip — split -b 1024m для многотомной загрузки в объектное хранилище.
  • Манифест SHA256 на каждый набор частей; несжатый дамп удаляйте после проверки checksum на приёме.

Ночные окна: cron и launchd на macOS

Предпочитайте launchd (StandardErrorPath, ThrottleInterval); cron — если нужен тот же crontab, что на Linux.

30 1 * * * flock -n /tmp/mysql-backup.lock /usr/local/bin/backup_mysql.sh
# launchd: Hour 1 Minute 30, ThrottleInterval 120, KeepAlive false

Водораздел диска APFS и срок хранения — FAQ

Когда прерывать дамп ещё до старта
Ниже 15% или 50 ГБ свободного — что строже; см. FAQ APFS.
Сколько ночных поколений держать на SSD арендатора
7 дневных или 14 при буфере через выходные; далее — холодное хранилище.
Когда логического дампа достаточно без физического бэкапа
Если RPO не жёстче интервала дампа; иначе — реплики или снимки диска.

Чек-лист оповещений при сбоях дампа

  • Оболочка с set -euo pipefail; в webhook или почту — хост, имя БД, код выхода, последние строки лога.
  • Backoff до 600 с, джиттер до 30%; после трёх сбоев — эскалация человеку.

Пять шагов оператора

  1. Создайте на внутреннем SSD каталоги ~/Backups/mysql, ~/Backups/postgres и ~/Library/Logs/db-backup.
  2. Перед стартом выполните проверку водораздела через df -g; продолжайте только если выполнены и процентный, и абсолютный пороги.
  3. Сначала локальный файл, затем сжатие, split и выгрузка — не стримить в облако без локальной контрольной точки.
  4. Назначьте расписание через launchd или cron с flock, чтобы мониторинг 7×24 не запустил второй экземпляр поверх первого.
  5. При сбое — webhook с путём манифеста и лога в ~/Library/Logs/db-backup.

Опорные пороги для внутреннего регламента

  • Пятнадцать процентов или пятьдесят гигабайт свободного места как минимум перед новым логическим дампом.
  • Не меньше ста двадцати секунд ThrottleInterval у заданий launchd, которые оборачивают клиентов баз.
  • На SSD арендатора держите от семи до четырнадцати локальных суточных поколений до ротации в холодное хранилище.

Итог. Стабилизируйте долгие дампы на выделенном Apple Silicon: откройте главную, сравните тарифы, оформите аренду без обязательного входа при оформлении. Доступ по SSH и VNC — в центре помощи, соседние матрицы — в блоге.

Узел под бэкапы MySQL и PostgreSQL

С главной перейдите к тарифам и оформлению аренды. В помощи — удалённый доступ; в блоге — матрицы 7×24 и диска.

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

Аренда Mac Mini под бэкапы БД