Перейти к содержимому
← Все статьи

Администрирование

Бэкапы (для администраторов)

Расписание, локальный HDD, offsite rsync и проверка здоровья резервных копий.

Расписание

  • Ежедневно 03:30 — dump PostgreSQL (nextcloud, messenger, ns-account, assistant), SQLite Academy, конфиги Traefik/stack.
  • Ежедневно 05:00 UTC — offsite rsync: /srv/backups → /mnt/nsforge-offsite/nsforge-backups (без --delete).
  • Еженедельно (воскресенье) — полный архив nextcloud-data и archive-data на /srv/backups.
  • Воскресенье 04:20 — docker-gc (неиспользуемые образы/кэш).

Пути на сервере

  • /srv/stack/backups/backup-all.sh — основной скрипт локальных бэкапов.
  • /srv/stack/backups/offsite-sync.sh — rsync на offsite HDD (ALLOW_DELETE=0).
  • /srv/stack/backups/backup-status.sh — проверка свежести бэкапов.
  • /srv/backups/ — HDD локальных бэкапов (retention по политике).
  • /mnt/nsforge-offsite/nsforge-backups/ — offsite retention (может быть заполнен сильнее локального).

Три диска в админке

SSD · система (/), HDD · локальные бэкапы (/srv/backups) и HDD · offsite retention (/mnt/nsforge-offsite) — три независимых накопителя, не RAID1.

Разный процент заполнения (например 38% vs 67%) — retention drift: offsite хранит старые копии, rsync --delete выключен.

Мониторинг

health-alert.sh (каждые 15 мин) шлёт алерт при сбое backup-status.

Uptime Kuma: монитор backup-status через push или HTTP-обёртку.

При <20% свободного места на SSD/HDD — Telegram-алерт (disk-space-alert.sh).

Восстановление — только с root-доступа к серверу. Перед restore остановите соответствующий сервис.