При обновлении с версий ниже 2.9.2 на 2.10.0 и выше медиа и файлы не сохранятся! Миграция медиа и файлов проводится по запросу. Для проведения миграции файлов обратитесь в коммерческий отдел компании Eltex: eltex@eltex-co.ru. |
Для использования запросите Elph-chat-backup у технической поддержки или воспользуйтесь ручным резервным копированием. |
Скрипт elph-chat-backup.sh создает резервные копии баз данных и объектов MinIO. Отдельный скрипт setup-cron.sh помогает удобно настроить расписание в crontab для каждого типа бэкапа независимо. Файл config.env хранит параметры для авторизации, директорию для бэкапов и их количество. Скрипт работает с контейнеризированными базами данных и объектным хранилищем.
mongodump --archive --gzip;.sql.gz;.tar.gz;elph-postgres, elph-mongo, elph-minio;MinIO доступен по http://127.0.0.1:9000;mс (MinIO Client);config.env;Убедитесь, что MinIO Client(mc) расположен в /usr/local/bin/mc. MinIO Client поставляется совместно с Elph Chat Backup по пути elph-chat-server/stable/mc. Перед использованием скопируйте скрипт в /usr/local/bin/mc. |
Резервное копирование выполняется на запущенном Chat Server. |
1. Измените параметры для логина к сервисам в файле config.env:
|
2. Для запуска процесса создания бэкапа выполните команду с указанием одного, нескольких или всех сервисов:
Все сервисы:
bash elph-chat-backup.sh backup --all |
Только PostgreSQL:
bash elph-chat-backup.sh backup --postgres |
MongoDB + MinIO с переопределением директории и количества копий:
bash elph-chat-backup.sh backup --mongo --minio --dir /opt/backup/elph-chat/ --rotation 14 |
1. Запустите скрипт настройки:
bash setup-cron.sh |
Скрипт задаст несколько вопросов для настройки cron.
|
2. Проверить конфигурацию cron можно следующей командой:
crontab -e |
1. Перед восстановлением баз данных остановите все контейнеры Chat Server кроме elph-minio, elph-mongo и elph-postgres.
docker container stop elph-chat-client elph-chat-server-1 elph-chat-server-2 elph-container-monitor elph-events-webhook elph-file-service elph-keycloak elph-push-gateway elph-redis mini-apps |
2. Очистите базу данных PostgreSQL:
docker exec -i elph-postgres psql -U postgres -d template1 -c "DROP DATABASE IF EXISTS mini_apps;" docker exec -i elph-postgres psql -U postgres -d template1 -c "CREATE DATABASE mini_apps;" docker exec -i elph-postgres psql -U postgres -d template1 -c "DROP DATABASE IF EXISTS push_gateway;" docker exec -i elph-postgres psql -U postgres -d template1 -c "CREATE DATABASE push_gateway;" docker exec -i elph-postgres psql -U postgres -d template1 -c "DROP DATABASE IF EXISTS postgres;" docker exec -i elph-postgres psql -U postgres -d template1 -c "CREATE DATABASE postgres;" |
3. Для запуска процесса восстановления всех сервисов из последнего бэкапа выполните команду:
bash elph-chat-backup.sh restore --all |
Для запуска процесса восстановления с указанием сервиса:
bash elph-chat-backup.sh restore --postgres |
Для запуска процесса восстановления бэкапа из определенной директории выполните:
bash elph-chat-backup.sh restore --postgres --dir /opt/backup/elph-chat/postgres/20260119-0924/ |
4. Запустите все контейнеры:
./ecss-elph-chat-server.sh up |