# Обновление сервера приложений

Инструкция описывает обновление установленного сервера приложений GlobalServer.

## Подготовка окружения

Установите пакет `expect`:

```bash
sudo apt install -y expect
```

Создайте временный каталог для дистрибутива обновления:

```bash
sudo mkdir -p /tmp/global
```

Скопируйте в `/tmp/global` архив новой версии сервера приложений.

Обновите права на временный каталог и каталог сервера:

```bash
sudo chown -R global:global /tmp/global
sudo chown -R global:global /opt/global/globalserver
```

## Подготовка скрипта config.sh

Скопируйте исходный конфигурационный скрипт обновления:

```bash
sudo cp /opt/global/globalserver/update/config.sh.origin /opt/global/globalserver/update/config.sh
```

Откройте файл:

```text
/opt/global/globalserver/update/config.sh
```

Укажите в нем:

- корректный alias базы данных;
- путь к временному каталогу, например `/tmp/global`;
- при необходимости другие параметры.

## Настройка прав на скрипты обновления

Выдайте права на выполнение всем `.sh`-скриптам в каталоге `update`:

```bash
sudo find /opt/global/globalserver/update -type f -name '*.sh' -exec chmod a+x {} \;
```

Подробнее об утилите обновления смотрите в [руководстве](https://help.globalerp.ru/books/G3SysAdminDoc/SNAPSHOT/html/030_global-standalone/020_admin.html#id16).


## Запуск обновления

Запустите обновление сервера приложений:

```bash
/opt/global/globalserver/update/update.sh -m server
```

Дождитесь завершения скрипта и убедитесь по журналам и выводу команды, что обновление завершилось успешно.

## Пример запуска обновления

```bash
root@oracle:~# /opt/global/globalserver/update/update.sh -m server

13.10.2026_17:03:08
####################
 * Global update *
 утилита обновления v 15.2
####################

План обновления:

Обновление сервера: Да.
Обновление jar:     Нет.
Установка релиза:   Нет.
----
Синхронизация прав доступа: Нет.

Свободное место на диске:
104197 Мб
Поиск файлов дистрибутивов в каталоге /tmp/global
...
Найден дистрибутив сервера /tmp/global/globalserver.zip
Проверка архива ... No errors detected in compressed data of /tmp/global/globalserver.zip.
Ok


####################
Обновление global...
Остановка менеджера заданий...
Failed to stop globalscheduler.service: Unit globalscheduler.service not loaded.
Поиск запущенного процесса менеджера заданий
Попытка 1
Менеджер заданий остановлен

Остановка сервера...
Поиск запущенного процесса сервера
Попытка 1
Сервер остановлен

распаковка /tmp/global/globalserver.zip
лог распаковки: /tmp/global/update_13.10.2026_170308/logs/unzip_server.log
версия установленного сервера: 1.27.3.9176
версия дистрибутива сервера  : 1.27.3.9176
обновление сервера не требуется
Запуск сервера...
проверяем доступность сервера по ssh...
Попытка 1
spawn ssh admin@localhost -p 2299
ssh: connect to host localhost port 2299: Connection refused
Сервер недоступен, пауза 10 сек...
Попытка 2
spawn ssh admin@localhost -p 2299
Password authentication
(admin@localhost) Password: 
>
статус сервера: ЗАПУЩЕН
spawn ssh admin@localhost -p 2299 alter server mode normal
exit
Password authentication
(admin@localhost) Password: 
OK
SSH Terminal session closed.

Запуск менеджера заданий...
Failed to start globalscheduler.service: Unit globalscheduler.service not found.

####################

Лог работы утилиты обновления: /tmp/global/update_13.10.2026_170308/logs/update_13.10.2026_170308.log

Работа утилиты обновления завершена.
```

## Проверка parameters.sh

После обновления сравните используемый файл `parameters.sh` с файлом, поставляемым в новой версии.

При необходимости перенесите актуальные параметры в настроенный `parameters.sh`.

После изменения конфигурации выполните:

```bash
sudo systemctl daemon-reload
sudo systemctl restart global3
```