Очень часто администратору 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, т.е. определяет когда скрипт будет остановлен.