Как правильно создать услугу?

Как правильно создать услугу?

Вот что я делаю:

1) создаем пользователя some_deployer
2) затем создаем папку для скрипта, например /company/script/<service name>
3) в этой папке я создаю start.shи stop.shскрипты и даю право собственности пользователю some_deployerи разрешение с chmod 755.
4) затем после создания скрипта в /etc/init.d/папке, например <service name>-serviceи даю право собственности пользователю some_deployerи разрешение с chmod 755тоже.
5) затем добавляем эту службу в список служб, все еще внутри /etc/init.d/с

/sbin/chkconfig --add -service (suse) или update-rc.d <service name>defaults (ubuntu)

Правильно ли это? Это лучший способ продолжить? Я спрашиваю, потому что внезапно одна из моих служб, которую я создаю, больше не работает, я пробую команду /etc/init.d/-service, и она говорит, что command is not found, почему это?

решение1

Создавать пользователя не обязательно, но вы, безусловно, можете это сделать, если это в ваших интересах. Не уверен, о чем вы говорите под /company/script/, но нет причин не делать этого. Просто убедитесь, что ваш файл скрипта находится в /etc/init.d перед запуском update-rc.d. Я не уверен, почему вы хотите использовать /company/script/, но из вашей ошибки следует, что имя вашей службы не проходит.

Посмотрите спецификации LSB для скрипта init.d здесь:http://wiki.debian.org/LSBInitScripts Вы создаете один скрипт с возможностями stop/start/restart/force-reload/status, а затем регистрируете его в update-rc.d или в чем-то подобном, как вы предложили. Это позволит update-rc.d указывать на один файл, но выполнять все необходимые операции с его помощью.

решение2

Не верьте LSB слишком сильно, большинство дистрибутивов давно отказались от sysvinit, Ubuntu, RHEL используют upstart(в случае RHEL в основном в режиме совместимости с SysV), Fedora использует systemdуже больше года, в Fedora 18 почти все службы являются собственными systemd. Одно из обещаний systemd — продолжать обрабатывать LSB-совместимые установки, но он предлагает много преимуществ при использовании собственной конфигурации. Взгляните на его обширнуюдокументация.

Связанный контент