Intereting Posts
Какую оболочку я запускаю? Качество сервера NTP: низкая задержка или низкий джиттер? Синтаксис Crontab: использование «*» для значения минут Перенос исполняемых файлов из Windows в Linux через WinSCP Список всех протоколов уровня 3, доступных в моей системе? Как извлечь содержимое цитируемых строк из вывода команды? Как разрешить инициализацию блокировки на основе файлов не удалось. Как читать только вторую последнюю строку файла Получение и установка размера экрана для Xorg RSync – исключение конкретного подкаталога и его дочерних элементов, где подкаталог существует на разных уровнях Рекурсивный grep, совместимый с POSIX, без ошибок для недоступных каталогов Альтернатива Mathpad Демон не запускается во время загрузки PUIAS (RedHat). 6.4 Путь к файлу в журнале аудита вместо номера inode Как настроить трекпойнт, так что прокрутка посередине не является неверным истолкованием как патч среднего щелчка?

Настройка простого сервиса с помощью systemd

Мы используем сервер Bamboo для дальнейшей интеграции с удаленными агентами, которые строят наши проекты. Этот агент можно запустить с помощью простого сценария оболочки (который отлично работает). Но я подумал, что еще больше systemd его и сделаю блок systemd который сделает автозапуск агента после загрузки, и это позволит людям запускать / останавливать его с помощью команд systemctl . Так вот что я пробовал

 [Unit] Description=Atlassian Bamboo Agent After=syslog.target network.target [Service] Type=forking User=shub Group=shub ExecStart=/home/shub/bamboo-agent-home/bin/bamboo-agent.sh start ExecStop=/home/shub/bamboo-agent-home/bin/bamboo-agent.sh stop [Install] WantedBy=multi-user.target 

Чем я сделал systemctl daemon-reload . Проблема заключается в том, что после перезагрузки агент не запускается, а также он действует странно (таким образом, что служба перезапускает себя время от времени или не появляется должным образом после systemctl start ). Так что я делаю неправильно? Я думал об изменении Type на simple но я хочу, чтобы агент запускался в качестве фоновой службы (а сам сценарий запускает агент на фоне после выполнения).

Вы задали несколько вопросов. Я отвечу на вопрос: «Почему моя пользовательская система systemd не запускается при загрузке?»

Ответ заключается в том, что вы не включили его. Когда вы запустите systemctl enable my-service-name , будет действовать блок [Install] в вашем файле Unit.

В этом случае вы проинструктировали systemd запустить сервис как часть достижения multi-user.target .

Запуск команды enable создаст символическую ссылку в /etc/systemd/system/multi-user.target.wants/ и наличие этой символической ссылки – это то, что на самом деле даст команду systemd запустить службу при загрузке.

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