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 есть все необходимое для запуска.

(Я думаю, что есть проблема с ПУТИ)

Другие вопросы по тегам