top
logo


Автозагрузка в CentOS PDF Печать E-mail
Автор: Administrator   
06.11.10 14:51

Автозагрузка в CentOS

Запуск JIRA как сервис Cent OS 5 Linux

 

Продолжая разборки с 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:
    # cd /etc/init.d
  • Создание исполняемого файла:
    # chmod a+x jira
  • Добавление файл в список chkconfi, что означает его автозапуск при старте:
    # chkconfig --add jira

4. Рестарт сервера

Для информации
Ручной запуск сервиса:
# /etc/init.d/jira start

Ручная остановка сервиса:

# /etc/init.d/jira stop

Ручной рестарт сервиса:

# /etc/init.d/jira restart
Последнее обновление 30.11.10 18:57
 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика