发表于 2019-1-20 07:53:37

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]
查看完整版本: zabbix服务控制脚本