Текущее состояние резервного копирования

Дата проверки: 2026-01-23
Статус: ✅ Автоматизация настроена и работает

Доступные скрипты резервного копирования

1. Полное резервное копирование сервера

Скрипт: /home/cdto/DENKART/scripts/backup-full-server.sh

Что копирует:
- LXD контейнеры (экспорт всех контейнеров)
- Конфигурации LXD (profiles, сети, storage pools, конфигурации контейнеров)
- Системные конфигурации (network, SSH, firewall, LXD host configs)
- Данные проекта DENKART (без .git/objects, node_modules, pycache)

Где хранится: /D/backups/full-backup-YYYYMMDD-HHMMSS/

Ретеншн: 21 день (автоматическая очистка старых бэкапов)

Запуск:

sudo /home/cdto/DENKART/scripts/backup-full-server.sh

Требования:
- Минимум 120 GB свободного места на /D
- Root права

2. Резервное копирование PostgreSQL

Скрипт: /home/cdto/DENKART/scripts/backup-postgres.sh

Что копирует:
- Все базы данных PostgreSQL (pg_dumpall)
- Или конкретную базу данных

Где хранится: /var/backups/postgresql/

Ретеншн: Нет автоматической очистки (ручное управление)

Запуск:

# Все базы данных
sudo /home/cdto/DENKART/scripts/backup-postgres.sh

# Конкретная база данных
sudo /home/cdto/DENKART/scripts/backup-postgres.sh mydb

Результат: Создает сжатый SQL дамп с датой/временем

3. Резервное копирование проекта

Скрипт: /home/cdto/DENKART/scripts/backup-project.sh

Что копирует:
- Git репозиторий (bundle) или tar.gz архив
- База данных (если указаны DB_NAME и DB_USER)
- Конфигурации из директории config/

Где хранится: /var/backups/project/

Ретеншн: 7 дней (автоматическая очистка старых бэкапов)

Запуск:

# Проект по умолчанию
./scripts/backup-project.sh

# Указать путь к проекту
./scripts/backup-project.sh /path/to/project

4. Снапшоты LXD контейнеров

Скрипт: /home/cdto/DENKART/scripts/snapshot-before-changes.sh

Что создает:
- Снапшоты LXD контейнеров перед изменениями
- Автоматическая очистка старых снапшотов (сохраняет последние 5)

Запуск:

# Автоматическое имя снапшота
./scripts/snapshot-before-changes.sh BBB-CONT22-1

# Указать имя снапшота
./scripts/snapshot-before-changes.sh BBB-CONT22-1 my-snapshot

Текущая ситуация

✅ Что работает:

  • Скрипты резервного копирования созданы и работают
  • Автоматизация настроена через Systemd Timers:
  • backup-daily.timer - ежедневно в 02:00
  • backup-full-server.timer - ежедневно в 02:00
  • backup-postgres.timer - ежедневно в 03:00
  • backup-lxd-snapshots.timer - еженедельно в воскресенье в 04:00
  • backup-bbb.timer - ежедневно в 03:00
  • Все таймеры активны и включены (enabled)
  • Директории для бэкапов созданы и используются:
  • /D/backups/ - полные бэкапы, BBB, LXD snapshots
  • /var/backups/postgresql/ - дампы PostgreSQL

📊 Текущие бэкапы в системе:

  • Полные бэкапы: /D/backups/full-backup-YYYYMMDD-HHMMSS/
  • Последний: 2026-01-22 00:10 (4.9 GB)
  • Всего: 4 полных бэкапа (общий размер ~12 GB)
  • PostgreSQL: /var/backups/postgresql/
  • Регулярные ежедневные дампы
  • Последний: 2026-01-23 09:53
  • BBB: /D/backups/bbb/ (876 KB)
  • LXD Snapshots: /D/backups/lxd-snapshots/ (1.9 GB)

⚠️ Что можно улучшить:

  • Мониторинг: Нет автоматической проверки успешности резервного копирования
  • Уведомления: Нет уведомлений о результате резервного копирования
  • Интеграция с мониторингом: Не интегрировано с Prometheus/Grafana

Рекомендации

1. Настроить автоматизацию

Создать systemd timers или cron jobs для автоматического резервного копирования:
- Ежедневно: базы данных и конфигурации
- Еженедельно: полный бэкап сервера
- По требованию: снапшоты перед изменениями

2. Создать директории для бэкапов

sudo mkdir -p /D/backups
sudo mkdir -p /var/backups/{denkart,postgresql,project}

3. Настроить мониторинг

  • Проверка успешности резервного копирования
  • Уведомления об ошибках
  • Проверка размера бэкапов

4. Документировать процедуру восстановления

  • Инструкции по восстановлению из каждого типа бэкапа
  • Тестирование восстановления (периодически)

Вывод

Текущее состояние: Резервное копирование выполняется только вручную, когда запускаются скрипты.

Для полноценной защиты данных необходимо:
1. Настроить автоматическое резервное копирование через systemd timers
2. Создать директории для хранения бэкапов
3. Настроить мониторинг и уведомления
4. Регулярно проверять работоспособность резервного копирования


Последнее обновление: 2026-01-10