blob: ade8b71f28a3683a5c15e4c626960f82301717d2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#!/bin/sh
### BEGIN INIT INFO
# Provides: bitz-server
# Required-Start: $remote_fs $syslog
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Bitz ICAP server
# Description: ICAP server (RFC 3507)
### END INIT INFO
#
# Written 2014 by Jörg Frings-Fürst <debian@jff-webhosting.net>.
# Licensed under GPL-3+.
#
###
DESC="bitz ICAP server"
NAME="bitz-server"
DAEMON="/usr/sbin/$NAME"
PIDFILE=/var/run/$NAME.pid
PATH=/sbin:/usr/sbin:/bin:/usr/bin
SCRIPT=/etc/init.d/$NAME
BITZ-SERVER_OPTS="--config=/etc/bitz/bitz-server.conf"
# Are we making sense?
[ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Define all LSB log_* functions.
. /lib/lsb/init-functions
# Start downtimed.
do_start()
{
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON -- $DOWNTIMED_OPTS \
|| return 2
# Return status:
# 0 daemon has been started
# 1 daemon was already running
# 2 daemon could not be started
}
# Halt downtimed.
do_stop()
{
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \
--pidfile $PIDFILE --exec $DAEMON
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
rm -f $PIDFILE
return "$RETVAL"
# Return status:
# 0 daemon has been stopped
# 1 daemon was already stopped
# 2 daemon could not be stopped
# other daemon reported some other failure
}
# Reloading is a no-do in the standard case, when logging is
# done via the syslog service. Only if $DOWNTIMED_OPTS states
# a separate logging file, then a SIGHUP will result in the
# daemon releasing the file for rotation, or a similar action.
do_reload() {
start-stop-daemon --stop --signal 1 --quiet \
--pidfile $PIDFILE --exec $DAEMON
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
reload|force-reload)
log_daemon_msg "Reloading $DESC" "$NAME"
do_reload
log_end_msg $?
;;
restart)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Still running.
*) log_end_msg 1 ;; # Failure in starting.
esac
;;
*)
# Failure in ending service.
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
exit 3
;;
esac
:
|