Продолжая разборки с CentOS пришел к тому что возникла необходимость засунуть движок сервис-деска в автозагрузку, чтобы он поднимался автоматом при старте системы.
Собственно в CentOS процесс загрузки работает по принципу System V и расписан в файле /etc/inittab, точнее расписано то как процесс INIT отрабатывает уровни загрузки. В системе фалы загрузки находятся в каталоге /etc/rc.d и носят названия rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, и rc6.d. Пользователи могут размещать файлы в этих каталогах которые будут контролировать запуск сервисов в системе.В свою очередь эти фалы линкуются на каталог /etc/rc.d/init.d и содержащиеся в них скрипты запуска процессов. В этой связи для запуска сервиса необходимо создать полноценный файл запуска сервиса в /etc/init.d, после чего задать символический линк на него из папки соответствующей тому уровню запуска, на котором необходимо стартовать данный сервис. Файлик запуска сервиса будет выглядеть следующим образом, хотя можно расписать все пару строк просто строкой запуска сервиса:
#!/bin/bash # # chkconfig: 35 90 12 # description: Foo server #
# Get function from functions library . /etc/init.d/functions
# Start the service FOO start() { initlog -c “echo -n Starting FOO server: ” /path/to/FOO & ### Create the lock file ### touch /var/lock/subsys/FOO success $”FOO server startup” echo }
# Restart the service FOO stop() { initlog -c “echo -n Stopping FOO server: ” killproc FOO ### Now, delete the lock file ### rm -f /var/lock/subsys/FOO echo }
### main logic ### case “$1″ in start) start ;; stop) stop ;; status) status FOO ;; restart|reload|condrestart) stop start ;; *) echo $”Usage: $0 {start|stop|restart|reload|status}” exit 1 esac
exit 0
Если нет желания заморачиваться с написанием скрипта, то можно добавить строку инициализации запуска сервиса в файл /etc/rc.local. Это файл будет отработан в самом конце загрузки системы, но перед выдачей меню логина.
Для добавления сервисов находящихся в попдапках rc0.d – rc6.d в автозагрузку в системе есть специальная утилита chkconfig, с помощью которой можно добавлять или исключать сервисы.
# chkconfig --l service_name # просмотреть уровни автозагрузки сервиса # chkconfig --level 34 service_name on|off|reset # вкключить или выключить сервис на 3 и 4 уровнях
Проверить сервис: [root@m ~]# chkconfig --list vncserver vncserver 0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл
применение: chkconfig --list [имя сервиса] chkconfig --add <имя сервиса> chkconfig --del <имя сервиса> chkconfig [--level <уровни>] <имя сервиса> <on|off|reset|resetprioritie
Включить сервис: [root@m ~]#chkconfig --level 345 vncserver on
# chkconfig --del service_ name # удалить службу # chkconfig service_name on|off # включить или выключить службу на всех уровнях ну и есессно главная команда: # man chkconfig
Помимо этого можно воспользоваться утилитой ntsysv , для редактирования всех уровней или задач редактирования для определенного уровня: # ntsysv --level 34
Читать еще:
оригинал: тут
Запуск JIRA как сервис Cent OS 5 Linux
Для создания атоматически запускаемого сервиса JIRA в операционной системе Cent OS нужно:
1. Создать текстовый файл со следующим содержанием:
#!/bin/bash # # chkconfig: 2345 85 15 # description: jira # processname: jira # source function library . /etc/init.d/functions
JAVA_HOME="/usr/java/default" JRE_HOME="/usr/java/default" CATALINA_HOME="/usr/lib/jira/jira"
RETVAL=0
start() { echo -n $"Starting jira services: " . /usr/lib/jira/jira/bin/catalina.sh start RETVAL=$? echo }
stop() { echo -n $"Shutting down jira services: " . /usr/lib/jira/jira/bin/catalina.sh stop RETVAL=$? echo }
case "$1" in start) start ;; stop) stop ;; restart|reload) stop start ;; status) status jira RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 1 esac exit $RETVAL
2. Сохранить файл на рабочем столе пользователя root 3. Для создания сервиса выполнить следующие команды в терминале:
- Перемещение файла в папку /etc/init.d и переименование его:
# mv /root/Desktop/jira.txt /etc/init.d/jira
- Смена директории на /etc/init.d:
- Создание исполняемого файла:
- Добавление файл в список chkconfi, что означает его автозапуск при старте:
4. Рестарт сервера
 |
Для информации Ручной запуск сервиса:
Ручная остановка сервиса:
Ручной рестарт сервиса:
# /etc/init.d/jira restart
|
|