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