Краткое описание
В этой статье будет описано, как обновить старые версии EMS, до более актуальных версии EMS с конвертацией баз данных. Перед началом, , чтобы не прерывать работу действующей системы, необходимо подготовить второй сервер (или виртуальную машину), с установленной системой (для последней версии необходима Ubuntu 22).
Первый шаг создание backup баз данных:
Для создания backup баз данных перейдите в папку /var/ems-backup и выполните скрипт main-dump-rotate.sh:
...
Примечание |
---|
файл будет создан в папке /var/ems-backup/main с именем: eltex-ems-backup.[дата и время создания].gz |
Шаг второй
...
установка пакета EMS на новый сервер:
обновляем Установка производится при помощи скрипта:
...
Блок кода |
---|
chmod 755 eltex-ems-helper-latest.sh sudo ./eltex-ems-helper-latest.sh |
Шаг
...
третий загрузка и конвертация баз данных:
Предупреждение |
---|
до версии 3.33 в EMS использовались базы данных mysql, далее используется mariadb. Команды для этих баз данных идентичны, но есть проблемы при конвертации для определенных версий. |
...
Делается это при помощи скрипта 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 может возникнуть ошибка |
...
расхождения схем заполнения таблиц баз данных. |
...
Блок кода |
---|
sudo ./eltex-ems-helper-latest.sh --update-eltex-packages об этом может соответствовать то, что при попытке запустить апплет сервис 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 |