Назад | Перейти на главную страницу

CentOS: скрипты инициализации не запускаются по неизвестной причине

Я использую CentOS 6.2 - я только что перенес несколько приложений на резервный сервер и скопировал их сценарии инициализации в /etc/init.d.

Я сделал их исполняемыми, добавил их в chkconfig с помощью chkconfig -add, установил их уровни, убедился, что они находятся в /etc/rc.d/ - убедился, что я могу выполнить их из rc2.d и т. Д. одинаковы на обоих серверах. Они также работают в том же порядке, что и на основном сервере.

Но при перезагрузке они не запускаются. Любые идеи?

Преступниками являются:

jetty           0:off   1:off   2:on    3:on    4:on    5:on    6:off
smart           0:off   1:off   2:on    3:on    4:on    5:on    6:off

/etc/init.d:
-rwxr-xr-x. 1 root root 14456 Mar 13 20:21 jetty
-rwxrwxrwx. 1 root root  5829 Mar 29 09:58 smart

/etc/rc.d/rc3.d
lrwxrwxrwx. 1 root root 15 Mar 29 19:21 S99jetty -> ../init.d/jetty
lrwxrwxrwx. 1 root root 11 Mar 26 17:12 S99local -> ../rc.local
lrwxrwxrwx. 1 root root 15 Mar 29 19:21 S99smart -> ../init.d/smart

Я проверил, и у меня уровень выполнения 3. Я проверил их журналы, и нет никаких указаний на то, что они были запущены. Я могу легко запустить их вручную - и другие службы запускаются нормально.

У меня действительно нет идей.

Я пользователь CentOS 6.5 и Jetty 9.1.0.v20131115. Я столкнулся с теми же симптомами, которые вы описываете.

Мне удалось решить свою проблему, обновив jetty.shсоответственно /etc/init.d/jettyсоответственно /etc/rc.d/init.d/jetty.

В этом скрипте в NAME определение, изменение + к *, т.е. изменить
NAME=$(echo $(basename $0) | sed -e 's/^[SK][0-9]+//' -e 's/\.sh$//')
к
NAME=$(echo $(basename $0) | sed -e 's/^[SK][0-9]*//' -e 's/\.sh$//')

В jetty.sh скрипт имел обыкновение иметь chkconfig-связанная ошибка. Эта ошибка была исправлена ​​в коммите.

Предыстория: в версии с ошибками NAME переменная среды устанавливается на jetty99, 99 исходящий из chkconfig конфигурация.
Скрипт обычно называется jetty, поэтому версия с ошибками будет искать файл конфигурации с именем /etc/default/jetty99 вместо правильного /etc/default/jetty.

Думаю, я решил это.

По какой-то причине сценарии инициализации не копировались в /etc/rc.d/init.d! Я сделал там символические ссылки, и теперь chkconfig их забирает, и большинство из них теперь запускаются при загрузке ..

Можете ли вы проверить статус с помощью ntsysv команда? Убедитесь, что нужные вам демоны выбраны.

Правильно ли запускаются демоны с /sbin/service daemonname start?