Как запускать корневые сценарии с помощью службы systemd?

Я пытаюсь начать несколько вещей при запуске в CentOS, но я сталкиваюсь с некоторыми проблемами, которые я не знаю, как их решить.

Вот файл my.service:

[Unit] Description="Boot Jenkins slave and SonarQube server" After=network.target [Service] Type=simple ExecStart=/var/boot.sh User=root Group=root [Install] WantedBy=default.target 

После того, как systemctl daemon-reload , systemctl enable my.service и systemctl start my.service , ничего на самом деле не происходит / работает.

Результатом состояния systemctl status my.service является:

 $ systemctl status my.service ● startup.service - "Boot Jenkins slave and SonarQube server" Loaded: loaded (/etc/systemd/system/my.service; enabled; vendor preset: disabled) Active: inactive (dead) since Wed 2017-04-26 19:49:31 IDT; 1min 41s ago Process: 988 ExecStart=/var/boot.sh (code=exited, status=0/SUCCESS) Main PID: 988 (code=exited, status=0/SUCCESS) Apr 26 19:49:00 build-1 systemd[1]: Started "Boot Jenkins slave and SonarQube server". Apr 26 19:49:00 build-1 systemd[1]: Starting "Boot Jenkins slave and SonarQube server"... Apr 26 19:49:00 build-1 boot.sh[988]: Starting SonarQube... Apr 26 19:49:01 build-1 boot.sh[988]: Started SonarQube. 

Предположительно, все должно было работать, но они не …
Однако, если я буду вручную запускать boot.sh, они будут работать.

 su ... ./boot.sh 

boot.sh:

 #!/bin/bash nohup java -jar /var/jenkins/slave.jar -jnlpUrl https://***.jnlp -secret **** & /var/sonarqube-6.3/bin/linux-x86-64/sonar.sh start 

Обратите внимание, что для SonarQube требуется root.
Что я делаю не так?

Обновление: журналы из cat /var/log/messages | grep SonarQube cat /var/log/messages | grep SonarQube :

 Apr 26 20:58:53 build-1 systemd: Started "Boot Jenkis slave and SonarQube server". Apr 26 20:58:53 build-1 systemd: Starting "Boot Jenkis slave and SonarQube server"... Apr 26 20:58:53 build-1 boot.sh: Starting SonarQube... Apr 26 20:58:53 build-1 boot.sh: Started SonarQube. 

One Solution collect form web for “Как запускать корневые сценарии с помощью службы systemd?”

Для SonarQube я закончил это следующим образом: https://devopscube.com/setup-and-configure-sonarqube-on-linux/ , в котором указано, как добавить SonarQube в качестве службы … это было странно проще, чем системный подход.

Для первой команды в файле это все еще проблема …

  • Использование локального адреса связи для подключения кроссовера
  • Запускать скрипт каждые 30 минут с помощью systemd
  • Есть ли какой-либо системный эквивалент «initctl emit»?
  • Автоматическое выполнение сценария установки cli в терминале при запуске
  • Создание .deb с помощью службы systemd, но без скриптов инициализации SysV
  • если я использую мультипликативные суффиксы в systemd, то ошибки - «не удалось проанализировать значение ресурса»
  • Проблемы с timesyncd или networkd
  • Как просмотреть журнал stderr только с помощью журналаctl?
  • Systemd не видит / dev / disk / by-label / tmp
  • Когда Samba работал в manjoro linux, демону не удалось запустить: Samba обнаружила неправильно сконфигурированную «роль сервера» и вышла.
  • systemd Ошибка при выполнении сценария нереста EXEC: разрешение отклонено
  • Linux и Unix - лучшая ОС в мире.