Subversion Repositories configs

Rev

Rev 4 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 - 1
#!/bin/bash
2
#
3
# zarafa-server Zarafa Collaboration Platform's Storage Server
4
#
5
# chkconfig: 345 85 25
6
# description: The Zarafa Server takes MAPI calls in SOAP over HTTP(S) or \
7
#              the unix socket. It authenticates users using one of three \
8
#              authentication backends (unix/pam, db, ldap). It stores the data \
9
#              in a MySQL instance, and optionally stores the attachments directly \
10
#              on the filesystem.
43 - 11
# processname: /usr/sbin/zarafa-server
4 - 12
# config: /etc/zarafa/server.cfg
13
# pidfile: /var/run/zarafa-server.pid
14
 
15
### BEGIN INIT INFO
16
# Provides: zarafa-server
17
# Required-Start: $local_fs $network $remote_fs $syslog
18
# Required-Stop: $local_fs $network $remote_fs $syslog
19
# Should-Start: mysqld
20
# Should-Stop: mysqld
21
# Short-Description: Zarafa Collaboration Platform's Storage Server
22
# Description: The Zarafa Server takes MAPI calls in SOAP over HTTP(S) or
23
#              the unix socket. It authenticates users using one of three
24
#              authentication backends (unix/pam, db, ldap). It stores the data
25
#              in a MySQL instance, and optionally stores the attachments directly
26
#              on the filesystem.
27
### END INIT INFO
28
 
29
SERVERCONFIG=/etc/zarafa/server.cfg
43 - 30
SERVERPROGRAM=/usr/sbin/zarafa-server
4 - 31
 
32
# Sanity checks.
33
[ -x $SERVERPROGRAM ] || exit 0
34
 
35
SERVERCONFIG_OPT=""
36
[ ! -z $SERVERCONFIG -a -f $SERVERCONFIG ] && SERVERCONFIG_OPT="-c $SERVERCONFIG"
37
 
38
[ -f /etc/sysconfig/zarafa ] && . /etc/sysconfig/zarafa
39
export ZARAFA_USERSCRIPT_LOCALE
40
 
41
# Source function library.
42
. /etc/rc.d/init.d/functions
43
if [ -z "$ZARAFA_LOCALE" ]; then
44
	ZARAFA_LOCALE="C"
45
fi
46
 
47
RETVAL=0
48
server=`basename $SERVERPROGRAM`
49
lockfile=/var/lock/subsys/$server
50
pidfile=/var/run/$server.pid
51
 
52
start() {
53
	# Start in background, always succeeds
54
	echo -n $"Starting $server: "
55
	export LC_ALL=$ZARAFA_LOCALE
56
	export LANG=$ZARAFA_LOCALE
57
	daemon $SERVERPROGRAM $SERVERCONFIG_OPT
58
	RETVAL=$?
59
	unset LC_ALL LANG
60
	echo
61
	[ $RETVAL -eq 0 ] && touch $lockfile
62
 
63
	return $RETVAL
64
}
65
 
66
stop() {
67
	if [ -f /tmp/zarafa-upgrade-lock ]; then
68
		echo
69
		echo "Zarafa Server database upgrade is taking place."
70
		echo "Do not stop this process bacause it may render your database unusable."
71
		echo
72
		exit 1
73
	fi
74
	# Cannot use killproc, because it has no timeout feature;
75
	# zarafa-server may take up to 60 seconds to shutdown.
76
	ZARAFAPID=`cat /var/run/zarafa-server.pid 2>/dev/null`
77
	if [ -z "$ZARAFAPID" -o ! -n "$ZARAFAPID" ]; then
78
		echo -n "Program ID of $server not found, trying to stop anyway: "
79
		killall $SERVERPROGRAM >/dev/null 2>&1
80
		RETVAL=$?
81
		echo
82
		if [ $RETVAL -eq 0 ]; then
83
			failure $"Stopping $server: "
84
		else
85
			success $"Stopping $server: "
86
		fi
87
		RETVAL=0
88
	else
89
		echo -n $"Stopping $server: "
90
		TIMEOUT=65
91
		/bin/kill $ZARAFAPID >/dev/null 2>&1
92
		if [ $? -eq 0 ]; then
93
			while [ $TIMEOUT -gt 0 ]; do
94
				/bin/kill -0 $ZARAFAPID >/dev/null 2>&1 || break
95
				sleep 1
96
				TIMEOUT=$[${TIMEOUT}-1]
97
			done
98
			if [ $TIMEOUT -eq 0 ]; then
99
				failure $"Timeout on stopping $server"
100
				RETVAL=1
101
			else
102
				success $"Stopping $server: "
103
				RETVAL=0
104
			fi
105
		else
106
			failure $"Stopping $server: "
107
		fi
108
		echo
109
	fi
110
	[ $RETVAL -eq 0 ] && rm -f $lockfile $pidfile
111
 
112
	return $RETVAL
113
}
114
 
115
restart() {
116
	stop
117
	start
118
}
119
 
120
reload() {
121
	echo -n $"Restarting $server: "
122
	killproc $SERVERPROGRAM -SIGHUP
123
	RETVAL=$?
124
	echo
125
 
126
	return $RETVAL
127
}
128
 
129
# See how we were called.
130
case "$1" in
131
    start)
132
		start
133
		;;
134
    stop)
135
		stop
136
		;;
137
    status)
138
		status $server
139
		RETVAL=$?
140
		;;
141
    restart|force-reload)
142
		restart
143
		;;
144
    condrestart|try-restart)
145
		if [ -f ${pidfile} ]; then
146
			stop
147
			start
148
		fi
149
		;;
150
    reload)
151
		reload
152
		;;
153
    *)
154
		echo $"Usage: $server {start|stop|status|reload|restart|condrestart|force-reload|try-restart}"
155
		RETVAL=1
156
		;;
157
esac
158
 
159
exit $RETVAL