Рейтинг:0

определение службы systemd для запуска SAP (или любого другого приложения)

флаг bj

У меня проблемы с настройкой службы systemd для запуска и остановки SAP (или любого другого приложения). Я новичок в настройке служб systemd, и, пожалуйста, будьте милосердны, задавая «глупые» вопросы.

Что я хочу/планирую:

Приложение SAP в этом случае устанавливается на локальные диски, смонтированные в /local/hana/H01 и /local/hana/H01/DB; это файловые системы, которые монтируются с помощью fstab.

Существует скрипт, который запускает SAP, который находится в /local/hana/H01/bin/hana. Если вы вызовете этот сценарий с параметром «старт», он запустит SAP или с «стоп» завершит работу SAP. Этот сценарий завершится после запуска SAP, но процессы SAP останутся в сети.

Для этого экземпляра SAP настроен дополнительный сетевой адаптер eth0:1; SAP должен запуститься после того, как эта сетевая карта станет доступна. Администраторы SAP считают удобным входить через ssh на хост для проверки проблем, поэтому, если SAP не закрывается, они хотят подключиться через ssh для проверки; sshd не должен завершаться до тех пор, пока SAP/приложение не будет отключено.

/local/hana/H01/bin/hana (или любой другой сценарий приложения) будет запускать команды со сценарием тайм-аута для предотвращения блокировки.

Раньше я использовал структуру init.d и использовал уровень запуска 4, чтобы запускать свои приложения в конце процесса загрузки.

Я создал конфигурацию службы, которую я повторно использовал из существующей службы, поэтому я еще не понимаю всех параметров и зависимостей. Нужны ли мне эти зависимости уровня запуска?.target? Это было в файле примера.

[Ед. изм]
Описание=Системные ресурсы для SAP HANA H01
Требуется = local-fs.target
После=local-fs.target
До=runlevel2.target
До=runlevel3.target
До=runlevel4.target
До=runlevel5.target
До=shutdown.target
Требуется=сеть.цель
After=network-online.target
После=network.service
После=sshd.service
После=local-fs.target
Conflicts=shutdown.target reboot.target
 
[Оказание услуг]
Тип = разветвление
Перезапустить=нет
Стандартный вывод = системный журнал
StandardError=syslog+консоль
Тайм-аутсек=0
ИгнорироватьSIGPIPE=нет
KillMode=процесс
RemainAfterExit=да
ExecStart=/local/hana/H01/bin/hana start
ExecStop=/local/hana/H01/bin/hana стоп
 
[Установить]
WantedBy=многопользовательская.цель

Я что-то пропустил? слишком? Любые предложения о том, что я должен добавить или удалить?

Спасибо Фрэн

флаг cn
Вам не нужны все строки «До». Просто введите `After=network-online.target`. Вам также не нужны «Конфликты». Это слишком сложно! Примеры есть [здесь](https://www.freedesktop.org/software/systemd/man/systemd.service.html)
Franz avatar
флаг bj
Спасибо! Есть что сказать о блоке [Сервис]?
флаг cn
Будь проще! :D Используйте `Type`, `Restart`, `ExecStart/Stop` и добавляйте по мере необходимости. Я думаю, что большинство ваших значений по умолчанию (например, syslog).
Franz avatar
флаг bj
Большой! Большое спасибо!
Рейтинг:0
флаг cn

Резюмируя комментарии:

Будь проще!

[Ед. изм]
Описание=Системные ресурсы для SAP HANA H01
After=network-online.target
 
[Оказание услуг]
Тип = разветвление
Перезапустить=нет
ExecStart=/local/hana/H01/bin/hana start
ExecStop=/local/hana/H01/bin/hana стоп
 
[Установить]
WantedBy=многопользовательская.цель

Следует сделать в качестве начала и повторять оттуда по мере необходимости. Еще примеры: справочные страницы

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.