Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Краткое описание

В этой статье будет описано, как обновить старые версии EMS, до актуальных с конвертацией баз данных. Перед началом, , чтобы не прерывать работу действующей системы, необходимо подготовить второй сервер (или виртуальную машину), с установленной системой (для последней версии необходима Ubuntu 22).

Первый шаг создание backup баз данных:

Для создания backup баз данных перейдите в папку /var/ems-backup и выполните скрипт main-dump-rotate.sh:

cd /var/ems-backup
sudo ./main-dump-rotate.sh 127.0.0.1 3306 javauser javapassword 10

127.0.0.1 - ip адрес сервера где хранятся базы данных(по умолчанию 127.0.0.1)

3306 - порт взаимодействия с mysql

javauser/javapassword - login и пароль для доступа к mysql

10 - количество дней больше которых предыдущие файлы будут удалены

файл будет создан в папке /var/ems-backup/main с именем:

eltex-ems-backup.[дата и время создания].gz

Шаг второй установка пакета EMS на новый сервер:

Установка производится при помощи скрипта:

eltex-ems-helper-latest.sh

chmod 755 eltex-ems-helper-latest.sh
sudo ./eltex-ems-helper-latest.sh

Шаг третий загрузка и конвертация баз данных:

до версии 3.33 в EMS использовались базы данных mysql, далее используется mariadb. Команды для этих баз данных идентичны, но есть проблемы при конвертации для определенных версий.

Конвертация происходит путем загрузки backup в актуальную версию баз данных.

Делается это при помощи скрипта ems-restore.sh. в папке /var/ems-backup/main.

Для начала, нужно переместить файл backup в папку со скриптом:

mv [им backup] /var/ems-backup/main
cd /var/ems-backup/main
sudo ./ems-restore.sh [имя backup]

После загрузки backup может возникнуть ошибка расхождения схем заполнения таблиц баз данных. об этом может соответствовать то, что при попытке запустить апплет сервис eltex-ems будет переходить в статус inactive, и в файле /var/log/eltex-ems/black_box.txt будет сообщение подобного содержания:

[main] ERROR Kernel Server$1.print(line:371). [ EltexException (EltexException.SERVER) : codeError = 1; msg = 'Invalid version '46' of 'eltex_ems' schema. Should be '55'. Please, update eltex-ems-db packet.'; infoObject = 'null' ]

Ошибка исправляется переустановкой пакета eltex-ems-db:

Для того чтобы понять какой версии были установлены пакеты eltex-ems используйте команду:

sudo apt list eltex-ems
Будет выведена следующая информация:
Listing... Done
eltex-ems/now 3.35-13244 all [installed,local]

В приведенном примере используется версия 3.35-13244

После определения версии установленного пакета, переходим на сайт eltex-ems-db и находим необходимую версию.

После загрузки пакета на сервер или виртуальную машину установить пакет:

sudo dpkg -i eltex-ems-db_3.35-13244_all.deb