Rate this post

Очень часто администратору linux приходится писать скрипты по выполнению каких либо операций. Обычно такие скрипты включаются в задания по расписанию, но а если нужно запускать скрипт при загрузке системы?

Мы можем добавить его в файл /etc/rc.local, но в таком случае он запуститься последним. А если надо, чтобы он запустился не последним, или нужно, что бы скрипт запустился перед выключением системы, тогда Вам пригодится мой пример:

#!/bin/bash

#

# chkconfig: 35 99 01

# description: Oracle Business Intelligence Publisher

# Get function from functions library

. /etc/init.d/functions

# Start the service XMLP

start() {

        initlog -c «echo -n Starting XMLP server: «

        su xmlp -c /xmlp/start_xmlp.sh

}

stop() {

        su xmlp -c /xmlp/stop_xmlp.sh

}

### main logic ###

case «$1» in

  start)

        start

        ;;

  stop)

        stop

        ;;

  restart)

        stop

        start

        ;;

  *)

        echo $»Usage: $0 {start|stop|restart}»

        exit 1

esac

exit 0

Скрипт ложим в каталог /etc/init.d/ у меня скрипт будет называться xmlp, предоставляем права на запуск.

Далее выполняем:

chkconfig —add xmlp

Теперь мы можем удобно управлять своим скриптом через стандартную команду service:

service xmlp stop/start/restart

Вторая запись в скрипте означает уровень, порядок запуска и остановки скрипта:

chkconfig: 35 99 01

35 — Означает, что скрипт выполнится на 3ем и 5ом уровне, т.е.:

xmlp 0:off 1:off 2:off 3:on 4:off 5:on 6:off

/etc/rc3.d/S99xmlp — S означает start, т.е. порядок запуска чем больше значение тем позже будет выполнен запуск скрипта.

/etc/rc3.d/K06xmlp -K означает kill, т.е. определяет когда скрипт будет остановлен.