Резервное копирование и восстановление
INFRAX включает встроенную систему резервного копирования и восстановления через меню управления. Резервные копии сохраняются в формате .tar.gz и включают базу данных, конфигурацию и пользовательские данные. Используются для восстановления после сбоев или переноса данных на другой сервер.
Обзор системы резервного копирования
Система резервного копирования INFRAX обеспечивает полное сохранение состояния приложения, включая базу данных, конфигурационные файлы и пользовательские данные.
Основные возможности
- Создание архива резервной копии — формирование
.tar.gzархива с данными приложения - Резервное копирование всей директории — полное сохранение состояния приложения
- Автоматическая остановка приложения — для обеспечения консистентности данных
- Восстановление из архива — интерактивный выбор резервной копии для восстановления
- Защитная копия перед восстановлением — автоматическое предложение создать backup текущего состояния
- Запуск через меню управления — удобный интерактивный интерфейс
Когда создавать резервные копии
| Сценарий | Рекомендация |
|---|---|
| Перед обновлением системы | Обязательно создайте резервную копию перед установкой новой версии |
| Регулярное резервное копирование | Настройте периодическое создание копий (ежедневно/еженедельно) |
| Перед изменением конфигурации | Создайте копию перед внесением критичных изменений в настройки |
| Миграция на другой сервер | Создайте копию на старом сервере для переноса на новый |
| Перед восстановлением | Система автоматически предлагает создать копию текущего состояния |
Резервные копии содержат конфиденциальные данные, включая базу данных с учетными данными и настройками системы. Храните резервные копии в безопасном месте и ограничьте доступ к ним.
Создание резервной копии
Процесс создания резервной копии выполняется через меню управления INFRAX.
Запуск меню управления
Linux (установлено в /opt/infrax):
sudo /opt/infrax/infrax.sh
Linux (другая директория) / macOS / Git Bash:
cd путь/к/infrax
bash infrax.sh
Windows:
- Запустите ярлык "INFRAX" на рабочем столе
- Или выполните:
C:\Program Files\INFRAX\app\infrax.bat
Создание резервной копии через меню
- В главном меню выберите пункт "3. 💾 Сделать резервную копию"
- Система автоматически:
- Проверит, запущено ли приложение
- Предложит остановить приложение для консистентности данных
- Оценит размер резервной копии
- Проверит свободное место на диске
- Подтвердите создание резервной копии
- Дождитесь завершения процесса
- При необходимости запустите приложение обратно
Расположение резервной копии
Резервная копия создаётся в формате .tar.gz и сохраняется в папке ./backups/ относительно директории приложения.
Формат имени файла: ГГГГ-ММ-ДД_ЧЧ-ММ-СС.tar.gz
Пример: ./backups/2025-12-20_15-30-45.tar.gz
Если приложение установлено в /opt/infrax, то полный путь к резервной копии будет: /opt/infrax/backups/2025-12-20_15-30-45.tar.gz
Состав резервной копии
Резервная копия INFRAX представляет собой сжатый .tar.gz архив, содержащий всю директорию приложения с данными.
Что включается в резервную копию
| Компонент | Описание | Важность |
|---|---|---|
| data/ | База данных PostgreSQL и все пользовательские данные | 🔴 Критично |
| .env | Конфигурационный файл с настройками URL и параметрами | 🔴 Критично |
| docker-compose.yml | Конфигурация Docker контейнеров | 🟡 Важно |
| Все прочие файлы | Скрипты, конфигурация, Git-история | 🟡 Важно |
Что не включается в резервную копию
Для оптимизации размера архива и избежания рекурсии следующие директории исключаются:
- ./backups/ — папка с резервными копиями (избежание рекурсии)
- ./images/ — Docker образы для офлайн-установки (загружаются отдельно)
- ./updates/ — пакеты обновлений (загружаются отдельно)
- data/*/logs/apt — символические ссылки на системные логи
Итоговый размер архива зависит от объёма базы данных и накопленных данных. Система автоматически оценивает размер перед созданием копии и показывает примерный размер сжатого архива (обычно на 20% меньше исходных данных).
Восстановление из резервной копии
Процесс восстановления позволяет восстановить данные приложения из ранее созданной резервной копии.
Процесс восстановления необратимо перезаписывает текущие данные! Все файлы проекта, база данных и конфигурация будут заменены содержимым архива. Эта операция не может быть отменена!
Восстановление через меню управления
- Запустите меню управления INFRAX (см. раздел "Создание резервной копии")
- Выберите пункт "4. ⏪ Восстановить из резервной копии"
- Система отобразит список доступных резервных копий из папки
./backups/ - Для каждой копии будут показаны:
- Имя файла с датой и временем создания
- Размер архива
- Дата создания
- Выберите номер резервной копии для восстановления
- Важно: Система запросит подтверждение (необходимо ввести
YESзаглавными буквами) - Приложение будет автоматически остановлено
- Система предложит создать защитную копию текущего состояния (настоятельно рекомендуется!)
- Будет выполнено восстановление из выбранного архива
- После завершения система предложит запустить приложение
Для защиты от случайного восстановления система требует ввести YES (заглавными буквами). Любой другой ответ отменит операцию.
После восстановления рекомендуется:
- Проверить работоспособность основных функций приложения
- Убедиться, что все данные восстановлены корректно
- Проверить настройки интеграций (Email, Telegram и т.д.)
- Проверить настройки URL приложений в файле
.env - При необходимости обновить URL через пункт меню "7. ⚙️ Настроить URL приложений"
Управление резервными копиями
Хранение резервных копий
Резервные копии хранятся в директории ./backups/ относительно директории установки приложения.
Формат имени файла:
ГГГГ-ММ-ДД_ЧЧ-ММ-СС.tar.gz
Примеры:
2025-12-20_15-30-45.tar.gz
2025-12-19_03-00-12.tar.gz
2025-12-18_03-00-08.tar.gz
Если приложение установлено в /opt/infrax, то резервные копии находятся в /opt/infrax/backups/
На Windows (при установке через инсталлятор): C:\Program Files\INFRAX\app\backups\
Просмотр списка резервных копий
Для просмотра списка резервных копий:
- Через меню: Выберите пункт "4. ⏪ Восстановить из резервной копии" — отобразится список со всеми деталями
- Вручную (Linux/macOS):
ls -lah ./backups/*.tar.gz - Вручную (Windows):
dir backups\*.tar.gz
В меню для каждой копии показываются:
- Дата и время создания (из имени файла)
- Размер архива
- Дата модификации файла
Перенос резервных копий
Резервные копии можно переносить на другие серверы или внешние хранилища:
- Скопируйте файл архива
.tar.gzиз директории./backups/ - Перенесите его на целевой сервер или внешнее хранилище
- Для восстановления поместите архив обратно в папку
./backups/целевой системы - Запустите процесс восстановления через меню
Это основной способ миграции INFRAX на другой сервер:
- Установите INFRAX на новом сервере (той же или более новой версии)
- Создайте резервную копию на старом сервере
- Перенесите архив
.tar.gzв папку./backups/на новом сервере - Восстановите из резервной копии через меню
Автоматизация резервного копирования
Для регулярного создания резервных копий рекомендуется настроить автоматическое выполнение через cron (Linux) или планировщик задач (Windows).
Пример настройки cron для ежедневного резервного копирования в 3:00:
# Открыть редактор cron
crontab -e
# Добавить строку (для установки в /opt/infrax)
0 3 * * * cd /opt/infrax && bash scripts/backup.sh >/dev/null 2>&1
Более сложный вариант с остановкой/запуском приложения:
# Скрипт backup-job.sh
#!/bin/bash
cd /opt/infrax
bash scripts/stop.sh
bash scripts/backup.sh
bash scripts/start.sh
# В cron
0 3 * * * /opt/infrax/backup-job.sh >/dev/null 2>&1
Планируйте резервное копирование на периоды наименьшей активности пользователей. Для максимальной консистентности данных рекомендуется останавливать приложение перед бэкапом и запускать после.
Удаление старых резервных копий
Для экономии дискового пространства рекомендуется периодически удалять устаревшие резервные копии:
- Определите политику хранения (например, хранить копии за последние 30 дней)
- Оставляйте несколько недавних копий для быстрого отката
- Храните копии перед важными обновлениями отдельно
- Переносите критичные копии на внешние носители или в облако
Пример политики хранения:
- Ежедневные копии за последние 7 дней
- Еженедельные копии за последний месяц
- Ежемесячные копии за последний год
- Копии перед обновлениями (постоянно)
Рекомендации и лучшие практики
🔄 Регулярное резервное копирование
- Настройте автоматическое создание резервных копий
- Создавайте копии ежедневно или еженедельно в зависимости от интенсивности использования
- Храните несколько последних копий для возможности отката
💾 Безопасное хранение
- Храните резервные копии на отдельном диске или сервере
- Используйте внешние носители или облачное хранилище для критичных копий
- Ограничьте доступ к резервным копиям
- Рассмотрите шифрование архивов для дополнительной безопасности
✅ Перед обновлениями
- Всегда создавайте резервную копию перед обновлением
- Проверьте наличие свободного места на диске
- Сохраните копию отдельно, не удаляйте ее после обновления
- Проверьте успешность обновления перед удалением копии
🔍 Проверка копий
- Периодически проверяйте возможность восстановления из копий
- Тестируйте восстановление на тестовом окружении
- Убедитесь, что архивы не повреждены
- Документируйте процесс восстановления
Следуйте правилу резервного копирования 3-2-1:
- 3 копии данных (оригинал + 2 резервные копии)
- 2 различных типа носителей (например, диск + облако)
- 1 копия за пределами основной площадки (внешнее хранилище)
Контрольный список резервного копирования
| Задача | Частота | Приоритет |
|---|---|---|
| Создание резервной копии | Ежедневно/Еженедельно | 🔴 Критично |
| Проверка свободного места | Еженедельно | 🟡 Важно |
| Удаление старых копий | Ежемесячно | 🟡 Важно |
| Тестовое восстановление | Ежеквартально | 🟡 Важно |
| Перенос копий на внешнее хранилище | Еженедельно | 🟢 Желательно |
| Проверка целостности архивов | Ежемесячно | 🟡 Важно |
Устранение проблем
Недостаточно места на диске
Проблема: Система сообщает о нехватке свободного места для создания резервной копии.
Решение:
- Удалите старые резервные копии из директории
./backups/ - Перенесите существующие копии на внешнее хранилище
- Очистите временные файлы и логи Docker
- Расширьте дисковое пространство сервера
Ошибка при создании архива
Проблема: Процесс создания архива завершается с ошибкой.
Возможные причины и решения:
- Недостаточно прав доступа — проверьте права на запись в директорию
./backups/. На Linux используйте sudo при запуске меню - Приложение активно — система автоматически предложит остановить приложение, согласитесь для консистентности данных
- Занят дисковый ресурс — дождитесь завершения других операций с диском
- Недостаточно памяти — закройте другие приложения или увеличьте доступную память
Восстановление не завершается
Проблема: Процесс восстановления зависает или не завершается.
Решение:
- Проверьте целостность архива резервной копии
- Убедитесь, что все контейнеры полностью остановлены
- Проверьте наличие достаточного места на диске
- Попробуйте восстановить из другой резервной копии
- Если проблема сохраняется, обратитесь в техническую поддержку
Приложение не запускается после восстановления
Проблема: После восстановления из резервной копии приложение не запускается.
Решение:
- Проверьте логи Docker:
docker-compose logs - Убедитесь, что все порты свободны
- Проверьте конфигурацию в файле
.env - Попробуйте пересоздать контейнеры:
docker-compose up -d --force-recreate - Если создавали защитную копию перед восстановлением, восстановитесь из нее
Поврежден архив резервной копии
Проблема: Система не может извлечь файлы из архива резервной копии.
Решение:
- Проверьте целостность архива командой:
tar -tzf backup-file.tar.gz >/dev/null - Попробуйте восстановить из другой (более ранней) резервной копии
- Если архив поврежден частично, попробуйте извлечь файлы вручную:
tar -xzf backup-file.tar.gz - На будущее используйте проверку целостности после создания копий и храните копии на надежных носителях
Если вы столкнулись с проблемой, не описанной в этом разделе, обратитесь в техническую поддержку или на форум сообщества INFRAX с описанием проблемы и логами системы.