zabbix服务控制脚本
[*]#!/bin/sh
[*]
[*]umask 022
[*]
[*]CAT=/bin/cat
[*]KILL=/bin/kill
[*]
[*]SU_USER=zabbix
[*]
[*]# zabbix script
[*]ZABBIX_SERVER=/usr/local/sbin/zabbix_server
[*]ZABBIX_AGENTD=/usr/local/sbin/zabbix_agentd
[*]
[*]# pid file
[*]ZS_PID=/tmp/zabbix_server.pid
[*]ZA_PID=/tmp/zabbix_agentd.pid
[*]
[*]start_agentd() {
[*]if [ -e $ZA_PID ]; then
[*] echo "$ZABBIX_AGENTD is running!"
[*] exit
[*] else
[*] echo -n "starting $ZABBIX_AGENTD..."
[*] su ${SU_USER} -c ${ZABBIX_AGENTD}
[*] sleep 3
[*] if [ -e $ZA_PID ]; then
[*] echo "done"
[*] else
[*] echo "false, please check log file!"
[*] fi
[*] fi
[*]}
[*]
[*]start_server() {
[*] if [ -e $ZS_PID ]; then
[*] echo "$ZABBIX_SERVER is running!"
[*] exit
[*] else
[*] echo -n "starting $ZABBIX_SERVER..."
[*] su ${SU_USER} -c ${ZABBIX_SERVER}
[*] sleep 3
[*] if [ -e $ZS_PID ]; then
[*] echo "done"
[*] else
[*] echo "false, please check log file!"
[*] fi
[*] fi
[*]}
[*]
[*]stop_agentd() {
[*] if [-r $ZA_PID-a! -z ${ZA_PID}]; then
[*] PID=`${CAT} ${ZA_PID}`
[*] fi
[*] if [${PID:=0} -gt 1 -a! "X$PID" = "X "]; then
[*] ${KILL} ${PID} && echo "stop $ZABBIX_AGENTD... done"
[*] else
[*] echo "stop $ZABBIX_AGENTD fail, Unable to read PID file $ZA_PID"
[*] fi
[*]}
[*]
[*]stop_server() {
[*] if [-r $ZS_PID-a! -z ${ZS_PID}]; then
[*] PID=`${CAT} ${ZS_PID}`
[*] fi
[*] if [${PID:=0} -gt 1 -a! "X$PID" = "X "]; then
[*] ${KILL} ${PID} && echo "stop $ZABBIX_SERVER... done"
[*] else
[*] echo "stop $ZABBIX_SERVER fail, Unable to read PID file $ZS_PID"
[*] fi
[*]}
[*]
[*]usage="usage $0 {agent|server} {start|stop|restart}"
[*]
[*]
[*]case $1 in
[*] 'agentd')
[*] t='agentd'
[*] ;;
[*] 'server')
[*] t='server'
[*] ;;
[*]esac
[*]
[*]if [ ! -z $t ]; then
[*] case $2 in
[*] 'start')
[*] start_$t
[*] ;;
[*]
[*] 'stop')
[*] stop_$t
[*] ;;
[*]
[*] 'restart')
[*] stop_$t
[*] sleep 3 && \
[*] start_$t
[*] ;;
[*]
[*] *)
[*] echo $usage
[*] ;;
[*] esac
[*]else
[*]echo $usage
[*]fi
脚本在freebsd下测试通过,其他版本未测试。
页:
[1]