Инструкция по установке DevOps
-
Как развернуть, настроить и поддерживать Corta
-
Cистемные требования для установки
-
Резервное копирование и восстановление данных
-
Изменение пароля базы данных (MySQL и PostgreSQL)
-
Использование SQL-запросов для массовых операций с данными
-
Устранение неполадок и диагностика работы платформы
-
Проверка работоспособности системы
-
Настройка логирования
Стратегии резервного копирования и восстановления данных
Как организовать резервное копирование данных в Corta
Почему важно создавать резервные копии
Рекомендуется регулярно выполнять резервное копирование вашей базы данных и загруженных файлов. Обязательно создайте резервную копию перед обновлением Corta до новой версии. Для автоматизации используйте задания cron с выгрузкой данных во внешнее облако или на выделенное хранилище.
Пример настройки cron для резервного копирования (Linux)
0 3 * * * docker-compose exec -T --env POSTGRES_PASSWORD=ваш_пароль db pg_dump -U ваш_пользователь your-db-name | gzip > /opt/backups/backup-$(date +\%Y\%m\%d).sql.gz
Как уменьшить размер резервной копии базы данных Corta
В ряде случаев можно исключить некоторые специфические таблицы из резервной копии, чтобы ускорить процесс и сделать миграцию между различными инстансами Corta проще и быстрее.
Таблица | Описание и влияние при исключении |
---|---|
auth_sessions | Сессии пользователей Все должны будут заново авторизоваться |
credentials | Данные авторизации (пароли, коды сброса, подтверждения email) Необходимо заново подтвердить пароли и регистрацию |
auth_oa2tokens | OAuth2-токены, выдаваемые Corta для веб-приложений Все приложения должны будут заново авторизоваться |
actionlog | Журнал действий (создание пользователей, события, история) История действий будет утеряна |
automation_sessions | История выполнения Workflows Информация о шагах и статусах Workflows пропадет |
compose_record | Метаинформация записей No Code-приложений Будут утеряны данные пользователей No Code-приложений |
compose_record_value | Значения записей No Code-приложений Будут утеряны данные пользователей No Code-приложений |
queue_messages | Сообщения внутр. очереди Все очереди сообщений будут сброшены |
resource_activity_log | История изменений ресурсов (например, правки записей) История ресурсов будет утеряна |
Важно
Исключение этих таблиц может быть уместно для разработки, тестирования или ускорения миграции между средами. Все данные, связанные с пользователями (compose_record и compose_record_value), всегда сохраняйте для боевого контура.
Как выполнить резервное копирование MySQL
Рекомендации:
- Используйте только утилиту
mysqldump
, встроенную в контейнере базы данных (например, в образе percona:8.0). - Не копируйте файлы базы данных напрямую — это приведёт к порче данных!
- Учтите, что по умолчанию при экспорте ставятся блокировки таблиц.
Базовая команда резервного копирования:
# Сохраняет всю базу данных в файл dump.sql
docker-compose exec -T \
--env MYSQL_PWD=ваш_пароль db \
mysqldump ваша_бд --add-drop-database -u ваш_пользователь > dump.sql
Пример с исключением таблиц:
docker-compose exec -T \
--env MYSQL_PWD=ваш_пароль db \
mysqldump ваша_бд --add-drop-database \
--ignore-table=ваша_бд.actionlog \
--ignore-table=ваша_бд.automation_sessions \
--ignore-table=ваша_бд.resource_activity_log \
-u ваш_пользователь > dump.sql
Примечание
Если сервис БД назван иначе в вашем docker-compose.yaml, замените db на своё имя.
Восстановление базы данных MySQL
Перед восстановлением остановите сервис Corta!
docker-compose exec -T \
--env MYSQL_PWD=ваш_пароль db \
mysql ваша_бд -u ваш_пользователь < dump.sql
Как выполнить резервное копирование PostgreSQL
Рекомендации:
- Используйте
pg_dump
илиpg_dumpall
. - Не копируйте файлы хранения базы данных вручную.
- Возможно временное блокирование таблиц.
Примеры команд:
# Резервная копия всех БД в dump.sql
docker-compose exec db \
pg_dumpall -c -U ваш_пользователь > dump.sql
# Резервная копия только одной БД
docker-compose exec db \
pg_dump -d ваша_бд -c -U ваш_пользователь > dump.sql
# Сжатие дампа
docker-compose exec db \
pg_dumpall -c -U ваш_пользователь | gzip > /var/data/postgres/backups/dump.gz
Исключение таблиц для уменьшения размера дампа
docker-compose exec db \
pg_dump -T corta.actionlog -T corta.automation_sessions -T corta.resource_activity_log -c -U ваш_пользователь corta > dump.sql
Заменяйте имена контейнера и БД на ваши значения.
Восстановление базы данных PostgreSQL
Перед восстановлением остановите сервис Corta!
# Восстановление из дампа
cat dump.sql | docker-compose exec db psql -U ваш_пользователь
# Восстановление конкретной БД
cat dump.sql | docker-compose exec db psql -U ваш_пользователь -d ваша_бд
# Восстановление из сжатого дампа
gzip < dump.gz | docker-compose exec db psql -U ваш_пользователь
Как выполнить резервное копирование файлов, загруженных в Corta
- Если не используется объектное хранилище (MinIO и др.), то все файлы хранятся на сервере по пути
/data
. - Вы можете воспользоваться стандартными средствами архивации для копирования данных.
Пример архивации файлов
# Архивация всех файлов в backup.tar.bz2
tar -cjf backup.tar.bz2 data/server/
Восстановление файлов
# Разархивация архива
tar -xjf backup.tar.bz2
Итоговые рекомендации для регулярного бэкапа в Corta
- Используйте cron или аналогичные механизмы для автоматизации.
- Делайте отдельные резервные копии базы данных и файловых данных.
- Проверяйте целостность и возможность восстановления с помощью тестовых восстановлений.
- Перед обновлением Corta — всегда делайте свежий бэкап.
- Храните копии бэкапов на внешних носителях или в облаке.
Соблюдая эти рекомендации и инструкции, вы минимизируете риски потери данных в системе Corta и сможете быстро восстановить платформу в случае сбоя или при миграции.