]> git.pld-linux.org Git - projects/rc-scripts.git/blame - rc.d/init.d/template.init
- no need to load service config to check network state
[projects/rc-scripts.git] / rc.d / init.d / template.init
CommitLineData
c4586185 1#!/bin/sh
2#
3# <service> <service> short service description
4#
296776d5 5# chkconfig: 345 <start_level> <stop_level>
c4586185 6#
7# description: <service> long service description
de1fc6ce 8#
c2e7ae0a
ER
9# processname: <service>
10# config:
11# pidfile:
12#
ec8b15cb 13# $Id$
c4586185 14
c4586185 15# Source function library
16. /etc/rc.d/init.d/functions
17
18# Get network config
19. /etc/sysconfig/network
20
c4586185 21# Check that networking is up.
de1fc6ce 22if is_yes "${NETWORKING}"; then
7ac64a4f 23 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
b8614372 24 msg_network_down "<service_name>"
de1fc6ce
JR
25 exit 1
26 fi
27else
28 exit 0
c4586185 29fi
30
1b5427c5
ER
31# Set defaults
32OPTION1="" # Strings
33OPTION2="-q" #
34OPTION3= # Values
35OPTION4=5 #
36
37# Get service config - may override defaults
38[ -f /etc/sysconfig/<service> ] && . /etc/sysconfig/<service>
39
c3c516d5 40# configtest itself
ddb920c1
ER
41# must return non-zero if check failed
42# output is discarded if checkconfig is ran without details
c3c516d5 43configtest() {
b7710f04 44 /usr/sbin/<service> -t
ddb920c1 45 return $?
c3c516d5
ER
46}
47
ddb920c1 48# wrapper for configtest
c3c516d5
ER
49checkconfig() {
50 local details=${1:-0}
51
52 if [ $details = 1 ]; then
53 # run config test and display report (status action)
ddb920c1 54 show "Checking %s configuration" "<service_name>"; busy
affc0843 55 local out
b7710f04 56 out=$(configtest 2>&1)
c3c516d5 57 RETVAL=$?
affc0843
ER
58 if [ $RETVAL = 0 ]; then
59 ok
60 else
61 fail
affc0843 62 fi
ddb920c1 63 [ "$out" ] && echo >&2 "$out"
c3c516d5
ER
64 else
65 # run config test and abort with nice message if failed
66 # (for actions checking status before action).
67 configtest >/dev/null 2>&1
68 RETVAL=$?
69 if [ $RETVAL != 0 ]; then
70 show "Checking %s configuration" "<service_name>"; fail
71 nls 'Configuration test failed. See details with %s "checkconfig"' $0
72 exit $RETVAL
73 fi
74 fi
75}
76
9dc18ceb 77start() {
c4586185 78 # Check if the service is already running?
8c79a01d 79 if [ -f /var/lock/subsys/<service> ]; then
b8614372 80 msg_already_running "<service_name>"
8c79a01d 81 return
c4586185 82 fi
8c79a01d 83
c3c516d5 84 checkconfig
b8614372 85 msg_starting "<service_name>"
8c79a01d
ER
86 daemon /usr/sbin/<service>
87 RETVAL=$?
88 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/<service>
9dc18ceb
ER
89}
90
91stop() {
8c79a01d 92 if [ ! -f /var/lock/subsys/<service> ]; then
b8614372 93 msg_not_running "<service_name>"
8c79a01d 94 return
db0f1874 95 fi
8c79a01d
ER
96
97 # Stop daemons.
b8614372 98 msg_stopping "<service_name>"
8c79a01d
ER
99 killproc <service>
100 killproc --pidfile /var/run/<service>.pid <service> -TERM
101 rm -f /var/lock/subsys/<service>
9dc18ceb
ER
102}
103
104reload() {
8c79a01d 105 if [ ! -f /var/lock/subsys/<service> ]; then
b8614372 106 msg_not_running "<service_name>"
228edf1d 107 RETVAL=7
8c79a01d 108 return
c4586185 109 fi
8c79a01d 110
c3c516d5 111 checkconfig
b8614372 112 msg_reloading "<service_name>"
8c79a01d
ER
113 killproc <service> -HUP
114 killproc --pidfile /var/run/<service>.pid <service> -HUP
115 RETVAL=$?
9dc18ceb
ER
116}
117
b7d84c50 118condrestart() {
8c79a01d 119 if [ ! -f /var/lock/subsys/<service> ]; then
b8614372 120 msg_not_running "<service_name>"
b7d84c50 121 RETVAL=$1
8c79a01d 122 return
b7d84c50 123 fi
8c79a01d 124
c3c516d5 125 checkconfig
8c79a01d
ER
126 stop
127 start
b7d84c50
JB
128}
129
9dc18ceb
ER
130RETVAL=0
131# See how we were called.
132case "$1" in
133 start)
134 start
135 ;;
136 stop)
137 stop
138 ;;
139 restart)
c3c516d5 140 checkconfig
9dc18ceb
ER
141 stop
142 start
9dc18ceb 143 ;;
b7d84c50
JB
144 try-restart)
145 condrestart 0
146 ;;
0162a159 147# include force-reload here if program allows reloading without restart
b7d84c50 148# otherwise remove reload action and support force-reload as restart if running
0162a159 149 reload|force-reload)
9dc18ceb 150 reload
bb7183eb 151 ;;
b7d84c50
JB
152# use this one if program doesn't support reloading without restart
153 force-reload)
154 condrestart 7
155 ;;
ddb920c1 156 checkconfig|configtest)
c3c516d5
ER
157 checkconfig 1
158 ;;
c4586185 159 status)
160 status <service>
de1fc6ce 161 RETVAL=$?
db0f1874 162 ;;
c4586185 163 *)
c3c516d5 164 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|checkconfig|status}"
228edf1d 165 exit 3
c4586185 166esac
c4586185 167
6eac4e11 168exit $RETVAL
This page took 0.077657 seconds and 4 git commands to generate.