четверг, 3 января 2019 г.

Настройка systemd для запуска второго сервера 1С

Платформа 8.3 → Ручной запуск второй копии сервера 1С на linux ubuntu 16.04
Вариант от Самарина Александра (Эника, Ивантеевка)
За что Александру огромное спасибо!

Порты указаны стандартные не второго сервера!
Для проверки можно запустить так:
sudo /bin/su usr1cv8 -c "/opt/1C/v8.3/x86_64/ragent -d /home/usr1cv8/.1cv8/1C/1cv8 -port 1540 -regport 1541 -range 1560:1590 -seclev 0 -debug"


$ service srv1cv83 status
$ sudo  systemctl stop srv1cv83

$ sudo nano /etc/systemd/system/1cv83-something.service

#
# 1cv83.service
#

[Unit]
Description=1C:Enterprise Server
Wants=network.target
After=network.target

[Service]
Type=simple
Environment=LANG=ru_RU.UTF-8
Environment=TZ=Europe/Moscow
ExecStart=/opt/1C/v8.3/x86_64/ragent -d /home/usr1cv8/.1cv8/1C/1cv8 -port 1540 -regport 1541 -range 1560:1590 -seclev 0 -debug
Restart=always
RestartSec=3
User=usr1cv8

[Install]
WantedBy=multi-user.target


Сохранить.

Команды:

$ sudo systemctl daemon-reload  # запускать после изменений файла
$ sudo systemctl start 1cv83-something.service
$ sudo systemctl stop 1cv83-something.service
$ sudo systemctl restart 1cv83-something.service
$ sudo systemctl status 1cv83-something.service

Если хочется автоматический запуск:

$ sudo  systemctl enable 1cv83-something.service

Если хочется при этом отказаться от оригинального скрипта:
$ sudo  systemctl disable srv1cv83  # отключить автоматический запуск
$ sudo  systemctl mask srv1cv83  # запретить запуск вообще


Плюсы:
20 строк против 497
Можно изменить флаги и сделать restart. Оригинальный скрипт такого не умеет.
Сервер 1С автоматически перезапускается при падении
systemctl stop завершает мертвые rmngr и rphost, если помер агент

Минусы:
Это systemd
Не поддерживается разработчиками 1С

1 комментарий:

  1. Спасибо большое.
    Нужно в основном для автозапуска, т.к. srv1cv83 не хочет добавляться а автозагрузку.
    systemctl enable srv1cv83.service
    srv1cv83.service is not a native service, redirecting to systemd-sysv-install.
    Executing: /usr/lib/systemd/systemd-sysv-install enable srv1cv83
    /sbin/insserv: No such file or directory

    не нашёл даже упоминания такой проблемы.

    ОтветитьУдалить