chkconfig не запускает скрипт приложения при загрузке
ОС: Centos 5.7
Мой скрипт приложения запускается так (/etc/init.d/myapp):
#!/bin/sh
# chkconfig 2345 85 60
# description: my application controller
# processname: myapp
NAME=MyApp
DIR=/opt/myapp/
RUN_AS=root
### BEGIN INIT INFO
# Provides: myapp
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Starts the myapp application
### END INIT INFO
Chkconfig статус
chkconfig --list | grep myapp
myapp 0:off 1:off 2:on 3:on 4:on 5:on 6:off
myapp принимает начало | остановить | перезапустить | принудительная перезагрузка, и все они проверены на работу
Контроллер myapp в основном должен запускать некоторые сервисы демона для приложения. Если я бегу service myapp start
после перезагрузки системы все работает нормально. Но по какой-то причине chkconfig не запускает его автоматически. Может кто-нибудь объяснить, что я могу делать не так?
ОБНОВИТЬ:
Благодаря информации cjc, кажется, что мой контроллер приложения загружается до некоторых необходимых сервисов, таких как mysql.
Вот результат быстрого поиска:
find /etc -name rc* -type d | xargs ls | grep myapp
K50myapp
K50myapp
S50myapp
S50myapp
S50myapp
S50myapp
K50myapp
Итак, почему порядок установлен в 50, когда в сценарии я установил 85(начало) 60(остановка)? И как я могу это изменить?
Решение (как указано cjc в комментариях к его ответу)
Неверный синтаксис:
# chkconfig 2345 85 60
Правильно (двоеточие необходимо после chkconfig):
# chkconfig: 2345 85 60
1 ответ
По сути, chkconfig создает символическую ссылку, скажем, из /etc/rc3.d/S85myapp в /etc/init.d/myapp. Убедитесь, что эти ссылки существуют. Я предполагаю, что они делают, так как "chkconfig --list" показывает, что они "включены".
Поскольку вы можете выполнить /etc/init.d/myapp из приглашения, но это не происходит во время запуска, я предполагаю, что есть проблема с PATH, или что служба, которую вам нужно запустить до запуска myapp, на самом деле инициализация после myapp. Помните, что сценарии в /etc/rc3.d (или каков ваш начальный уровень выполнения) выполняются в порядке сортировки. Убедитесь, что в myapp есть все необходимое для запуска.
(Я думаю, что есть проблема с ПУТИ)