наконец появился systemd и хочется его запытать именно как MULTIPLE INSTANCES согласно документации.
С одиночным проблем не было
sudo systemctl link /opt/1cv8/x86_64/8.3.21.1140/srv1cv8-8.3.21.1140@.service
а далее
sudo systemctl enable srv1cv8-8.3.21.1140@default.service
sudo systemctl start srv1cv8-8.3.21.1140@default.service
sudo systemctl status srv1cv8-8.3.21.1140@default.service
Далее согласно документации:
sudo systemctl edit srv1cv8-8.3.21.1140@1640.service
[Service]
Environment=SRV1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8_1640
Environment=SRV1CV8_PORT=1640
Environment=SRV1CV8_REGPORT=1641
Environment=SRV1CV8_RANGE=1660:1691
Сохранить.
Далее согласно документации:
systemctl link /opt/1cv8/arch/A.B.C.D/srv1cv8-A.B.C.D@2xport.service
или
sudo systemctl link /opt/1cv8/x86_64/8.3.21.1140/srv1cv8-8.3.21.1140@1640.service
Соответственно не найден файл (откуда ему быть?)
По логике вот так работает:
sudo systemctl start srv1cv8-8.3.21.1140@1640.service
Но, до перезагрузки
sudo systemctl enable srv1cv8-8.3.21.1140@1640.service
Выдает:
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
4) In case of template units, the unit is meant to be enabled with some
instance name specified.
Как то непонятно.
Понятно что можно убрать из имени @ , скопировать нужное количество раз отредактировать и сделать
sudo systemctl link /opt/1cv8/x86_64/8.3.21.1140/srv1cv8-8.3.21.1140-1540.service
sudo systemctl link /opt/1cv8/x86_64/8.3.21.1140/srv1cv8-8.3.21.1140-1640.service
....
Но хочется правильно работать с MULTIPLE INSTANCES
https://its.1c.ru/db/v8321doc/bookmark/cs/TI000000311
4.3.3.3.1. Как сервис
Для того, чтобы запускать несколько экземпляров кластера серверов «1С:Предприятие» одной версии, можно воспользоваться параметризацией шаблона юнита srv1cv8-8.X.Y.Z@.service. Эта параметризация выполняется с помощью передачи произвольного имени после символа «@».
Например, требуется запустить еще один экземпляр кластера текущей версии. Для этого следует проделать следующие действия:
● Выбрать имя нового экземпляра. Для примера, таким именем будет 2xports.
● Создать конфигурационный файл для этого экземпляра кластера серверов:
Копировать в буфер обмена
systemctl edit srv1cv8-A.B.C.D@2xports.service.
● Внести в файл следующий текст:
Копировать в буфер обмена
[Service]
Environment=SRV1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8_2xports
Environment=SRV1CV8_PORT=2540
Environment=SRV1CV8_REGPORT=2541
Environment=SRV1CV8_RANGE=2560:2591
● В открывшемся файле указать (или исправить) значения параметров SRV1CV8_DATA, SRV1CV8_PORT, SRV1CV8_REGPORT и SRV1CV8_RANGE.
● Зарегистрировать новый юнит в systemd:
Копировать в буфер обмена
systemctl link /opt/1cv8/arch/A.B.C.D/srv1cv8-A.B.C.D@2xport.service
● Новый сервис (2xport) доступен для управления аналогично тому, как было описано при регистрации автоматического запуска кластера серверов (подробнее см. здесь).
Сам же себе отвечаю, неточности в документации Пример: создать основной юнит и два дополнительных. #Выполнить регистрацию юнита: sudo systemctl link /opt/1cv8/x86_64/8.3.21.1140/srv1cv8-8.3.21.1140@.service # Основной юнит srv1cv8-8.3.21.1140@default.service # Включить автоматический запуск sudo systemctl enable srv1cv8-8.3.21.1140@default.service # Запуск sudo systemctl start srv1cv8-8.3.21.1140@default.service # Получение статуса sudo systemctl status srv1cv8-8.3.21.1140@default.service # Дополнительный юнит srv1cv8-8.3.21.1140@1640.service # Включить автоматический запуск sudo systemctl enable srv1cv8-8.3.21.1140@1640.service # Отредактировать параметры sudo systemctl edit srv1cv8-8.3.21.1140@1640.service [Service] Environment=SRV1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8_1640 Environment=SRV1CV8_PORT=1640 Environment=SRV1CV8_REGPORT=1641 Environment=SRV1CV8_RANGE=1660:1691 Сохранить. # Запуск sudo systemctl start srv1cv8-8.3.21.1140@1640.service # Получение статуса sudo systemctl status srv1cv8-8.3.21.1140@1640.service # Дополнительный юнит srv1cv8-8.3.21.1140@1740.service # Включить автоматический запуск sudo systemctl enable srv1cv8-8.3.21.1140@1740.service # Отредактировать параметры sudo systemctl edit srv1cv8-8.3.21.1140@1740.service [Service] Environment=SRV1CV8_DATA=/home/usr1cv8/.1cv8/1C/1cv8_1740 Environment=SRV1CV8_PORT=1740 Environment=SRV1CV8_REGPORT=1741 Environment=SRV1CV8_RANGE=1760:1791 Сохранить. # Запуск sudo systemctl start srv1cv8-8.3.21.1140@1740.service # Получение статуса sudo systemctl status srv1cv8-8.3.21.1140@1740.service
Обсуждают сегодня