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

chkconfig не устанавливает tomcat8

У меня есть tomcat8, установленный в моем AMI Amazon Linux, я изменил заголовок сценария инициализации tomcat8, поэтому chkconfig может установить tomcat8 для автоматического запуска при загрузке. Измененный заголовок:

#!/bin/bash
#
# tomcat      This shell script takes care of starting and stopping Tomcat
#
# chkconfig: 345 80 20
# description: Release implementation for Servlet 3.0 and JSP 2.2

### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Description: Release implementation for Servlet 3.0 and JSP 2.2
# Short-Description: start and stop tomcat
### END INIT INFO
#
# - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot
# - heavily rewritten by Deepak Bhole and Jason Corley
#

Как видите, я настроил его для работы на уровнях выполнения 3, 4 и 5.

Затем я побежал:

sudo chkconfig --add tomcat8

И к моему отчаянию после запуска --list вариант, tomcat8 - это off для всех уровней запуска:

$ sudo chkconfig --add tomcat8
$ chkconfig --list tomcat8
tomcat8         0:off   1:off   2:off   3:off   4:off   5:off   6:off

В чем дело? Что мне не хватает? Почему chkconfig не превращает tomcat8 on на 3, 4 и 5 уровнях?

В --add переключатель только добавляет новая услуга для управления chkconfig. Если сервис уже присутствует и имеет символическую ссылку в каждом /etc/rc[0-6].d каталог, который ничего не сделает ...

Чтобы модифицировать уровни запуска, на которых должен быть запущен tomcat8, вам не нужно было редактировать сценарий инициализации, а просто запустить:

chkconfig --level 345 tomcat8 on

или, в качестве альтернативы, после того, как вы изменили файл инициализации, используйте reset переключатель:

chkconfig --level 0123456 reset

или сначала удалите существующие символические ссылки из /etc/rc[0-6].d а затем добавьте их снова:

chkconfig --del tomcat8
chkconfig --add tomcat8