1

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

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> умолчанию (ubuntu)

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

2 ответа2

2

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

2

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .