При обновлении с версий ниже 2.9.2 на 2.10.0 и выше медиа и файлы не сохранятся! Миграция медиа и файлов проводится по запросу. Для проведения миграции файлов обратитесь в коммерческий отдел компании Eltex: eltex@eltex-co.ru.
Резервное копирование базы данных Chat Server версии < 2.7.0
Резервное копирование базы выполняется с запущенного контейнера mongoDB.
docker exec elph-chat-server-stable-mongo-1 mongodump --archive > dump_$(date +%d%m%Y_%H:%M).gz
Восстановление базы данных Chat Server версии < 2.7.0
1. Остановите все контейнеры сервера, кроме MongoDB и MinIO. Убедитесь, что контейнер elph-chat-server-stable-mongo-1 запущен и доступен.
docker ps docker container stop elph-chat-server-stable-nginx-1 elph-chat-server-stable-server-1
2. Чтобы восстановить базу данных из созданной резервной копии, выполните следующую команду. Замените dump.gz на имя вашего файла резервной копии, если оно отличается:
docker exec -i elph-chat-server-stable-mongo-1 sh -c 'mongorestore --archive --db elph --drop' < dump.gz
3. Запустите все контейнеры:
./ecss-elph-chat-server.sh up
Резервное копирование баз данных Chat Server версии > 2.7.0
Перед тем как приступать к резервному копированию необходимо сгенерировать MinIO access и secret key.
Для упрощения создания и восстановления резервных копий воспользуйтесь скриптом: elph-chat-backup.sh
Создание резервной копии скриптом
Резервное копирование базы выполняется с запущенного чат сервера.
1. Скачайте установочный скрипт и выдайте права на исполнение:
sudo chmod +x elph-chat-backup.sh
2. Запустите скрипт:
./elph-chat-backup.sh dump
При запуске скрипт установит MinIO Client:
wget https://dl.min.io/client/mc/release/linux-amd64/mc
И ответьте на вопросы:
Данный скрипт создаст 2 директории с файлами: minio и mongo.
Внимание!
Убедитесь, что резервная копия создана успешно и нет ошибок в процессе выполнения скрипта!
Создание резервной копии вручную
1. Сделайте резервную копию базы mongoDB с запущенного контейнера mongo:
docker exec elph-chat-server-stable-mongo-1 mongodump --archive > dump_$(date +%d%m%Y_%H:%M).gz
2. Сделайте резервную копию базы minIO:
2.1. Сгенерируйте access и secret key:
2.1.1 Перейдите по адресу http://<chat-server-address>:9000;
2.1.2 Авторизуйтесь и перейдите во вкладку Access Keys;
2.1.3 Нажмите Create Access Key;
2.1.4 Сохраните Access и Secret Key в надежном месте.
2.2. Установка MinIO Client:
2.2.1 Скачайте MinIO Client:
wget https://dl.min.io/client/mc/release/linux-amd64/mc
2.2.2 Сделайте файл исполняемым:
chmod +x mc
2.2.3 Переместите файл в системный путь и переименуйте mc в minio-client, чтобы избежать конфликтов:
sudo mv mc /usr/local/bin/minio-client
2.3. Настройте alias в MinIO:
minio-client alias set myminio http://<chat-server-address>:9000 <access_key> <secret_key>
2.4. Скопируйте файлы из MinIO в директорию:
minio-client cp --recursive myminio/elph-chat <path_to_backup> minio-client cp --recursive myminio/temp-files <path_to_backup>
Восстановление баз данных Chat Server версии > 2.7.0
Восстановление резервной копии скриптом
1. Остановите все контейнеры сервера, кроме mongoDB и MinIO. Убедитесь, что контейнеры elph-chat-server-unstable-mongo-1 и minio запущены и доступны.
docker ps docker container stop elph-chat-server-stable-nginx-1 elph-chat-server-stable-server-1
2. Запустите скрипт:
./elph-chat-backup.sh restore
И ответьте на вопросы:
3. Запустите все контейнеры:
./ecss-elph-chat-server.sh up
Перейдите по адресу https://<chat-address>:9000, авторизуйтесь и проверьте структуру базы данных:
Восстановление резервной копии вручную
1. Остановите все контейнеры сервера, кроме mongoDB и MinIO. Убедитесь, что контейнеры elph-chat-server-stable-mongo-1 и minio запущены и доступны.
docker ps docker container stop elph-chat-server-stable-nginx-1 elph-chat-server-stable-server-1
2. Чтобы восстановить базу данных из созданной резервной копии, выполните следующую команду. Замените dump.gz на имя вашего файла резервной копии, если оно отличается:
docker exec -i elph-chat-server-stable-mongo-1 sh -c 'mongorestore --archive --db elph --drop' < dump.gz
3. Установите MinIO Client и настройте Access Keys;
4. Скопируйте файлы из директории в MinIO:
minio-client cp --recursive /minio-backup/ myminio/elph-chat minio-client cp --recursive /minio-backup/ myminio/temp-files
Перейдите по адресу https://<chat-address>:9000, авторизуйтесь и проверьте структуру базы данных:
4. Запустите все контейнеры:
./ecss-elph-chat-server.sh up



