blob: 52a2a68518dfd8e0be8816dfd692f5d78e519123 (
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
#!/bin/sh
#
# zabbix_server_ctl
#
# control script to stop/start/restart zabbix_server
# author: charlie collins
# date: 01.21.2002
#
# revised 09.21.2003
# (setup for Red Hat 7.3 with Zabbix 1.0 beta)
# (should work for other Red Hat and Sys V style init machines as well)
#
# (modeled after apache style control scripts)
# (this script can be placed in init.d and respective runlevel for startup usage)
#
#
# The exit codes returned are:
# 0 - operation completed successfully
# 1 -
# 2 - usage error
# 3 - zabbix_server could not be started
# 4 - zabbix_server could not be stopped
# 5 - zabbix_server could not be started during a restart
# 6 - zabbix_server could not be restarted during a restart
#
#
#
# **************
# config options
# **************
#
# (set config options to match your system settings)
# base zabbix dir
BASEDIR=/opt/zabbix
# PID file
PIDFILE=/var/tmp/zabbix_server.pid
# binary file
ZABBIX_SUCKERD=$BASEDIR/bin/zabbix_server
# **************
# logic section (below here) does NOT normally need any modification
# **************
# establish args
ERROR=0
ARGV="$@"
if [ "x$ARGV" = "x" ] ; then
ARGS="help"
fi
# perform action based on args
for ARG in $@ $ARGS
do
# check if PIDFILE exists and ensure is not zero size and react accordingly
if [ -f $PIDFILE ] && [ -s $PIDFILE ] ; then
PID=`cat $PIDFILE`
if [ "x$PID" != "x" ] && kill -0 $PID 2>/dev/null ; then
STATUS="zabbix_server (pid $PID) running"
RUNNING=1
else
STATUS="zabbix_server (pid $PID?) not running"
RUNNING=0
fi
else
STATUS="zabbix_server (no pid file) not running"
RUNNING=0
fi
# parse arg and react accordingly
case $ARG in
start)
if [ $RUNNING -eq 1 ]; then
echo "$0 $ARG: zabbix_server (pid $PID) already running"
continue
fi
if $ZABBIX_SUCKERD ; then
echo "$0 $ARG: zabbix_server started"
else
echo "$0 $ARG: zabbix_server could not be started"
ERROR=3
fi
;;
stop)
if [ $RUNNING -eq 0 ]; then
echo "stop called - in running eq 0"
echo "$0 $ARG: $STATUS"
continue
fi
if kill $PID ; then
echo "$0 $ARG: zabbix_server process(es) stopped"
else
echo "$0 $ARG: zabbix_server process(es) could not be stopped"
ERROR=4
fi
;;
restart)
if [ $RUNNING -eq 0 ]; then
echo "$0 $ARG: zabbix_server not running, trying to start"
if $ZABBIX_SUCKERD ; then
echo "$0 $ARG: zabbix_server started"
else
echo "$0 $ARG: zabbix_server could not be started"
ERROR=5
fi
else
if kill $PID ; then
if $ZABBIX_SUCKERD ; then
echo "$0 $ARG: zabbix_server restarted"
else
echo "$0 $ARG: zabbix_server could not be started"
ERROR=3
fi
else
echo "$0 $ARG: zabbix_server could not be restarted"
ERROR=6
fi
fi
;;
*)
echo "usage: $0 (start|stop|restart|help)"
cat <<EOF
start - start zabbix_server
stop - stop zabbix_server
restart - restart zabbix_server if running by sending a SIGHUP or start if not running
help - this screen
EOF
ERROR=2
;;
esac
done
exit $ERROR
|