При обновлении с версий ниже 2.9.2 на 2.10.0 и выше медиа и файлы не сохранятся! Миграция медиа и файлов проводится по запросу. Для проведения миграции файлов обратитесь в коммерческий отдел компании Eltex: eltex@eltex-co.ru. |
Резервное копирование базы выполняется с запущенного контейнера mongoDB. |
docker exec elph-chat-server-stable-mongo-1 mongodump --archive > dump_$(date +%d%m%Y_%H:%M).gz |
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 |
Перед тем как приступать к резервному копированию необходимо сгенерировать MinIO access и secret key.
Перейдите по адресу http://<chat-server-address>:9000; Авторизуйтесь и перейдите во вкладку «Access Keys»;
Нажмите «Create access key»;
Нажмите «Create»;
Сохраните файл (credentials.json) с учетными данными в надежном месте.
|
Для упрощения создания и восстановления резервных копий воспользуйтесь скриптом: elph-chat-backup.sh
Резервное копирование базы выполняется с запущенного чат сервера. |
1. Скачайте установочный скрипт и выдайте права на исполнение:
sudo chmod +x elph-chat-backup.sh |
2. Запустите скрипт:
./elph-chat-backup.sh dump |
При запуске скрипт установит MinIO Client:
|
И ответьте на вопросы:
Введите MinIO Access Key и MinIO Ssecret Key из файла credentials.json.
Введите адрес или доменное имя Elph Chat Server (например, elph-chat-server.loc):
|
Данный скрипт создаст 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> |
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 |
И ответьте на вопросы:
Пример вопросов и ответов при восстановлении резервной копии
Введите адрес или доменное имя Elph Chat Server. (Например elph-chat-server.loc):
Введите директорию в которой сохранена резервная копия.
|
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 |