zabbix启动脚本

>> 启动脚本 <<

#!/bin/bash
server_dir="/data/zabbix6lts/sbin/";
zabbix_server(){
    cd ${server_dir}
    if [[ ${1} == "start" ]];then
        echo "zabbix_server starting..."
        ./zabbix_server
        sleep 3s;
    elif [[ ${1} == "stop" ]];then
        echo "zabbix_server stop..."
        ps -ef |grep zabbix_server|grep -v grep |awk {'print $2'} |xargs kill -9
        sleep 3s;
    elif [[ ${1} == "restart" ]];then
        echo "zabbix_server restart.."
        ps -ef |grep zabbix_server|grep -v grep |awk {'print $2'} |xargs kill -9
        ./zabbix_server
        sleep 3s;
    fi
}

zabbix_agentd(){
    cd ${server_dir}
    if [[ ${1} == "start" ]];then
        echo "zabbix_agentd start.."
        ./zabbix_agentd
        sleep 3s;
    elif [[ ${1} == "stop" ]];then
        echo "zabbix_agentd stop.."
        ps -ef |grep zabbix_agentd|grep -v grep |awk {'print $2'} |xargs kill -9
        sleep 3s;
    elif [[ ${1} == "restart" ]];then
        echo "zabbix_agentd restart.."
        ps -ef |grep zabbix_agentd|grep -v grep |awk {'print $2'} |xargs kill -9
        ./zabbix_agentd
        sleep 3s;
    fi
}
 
choice_server="""
服务名称
> server
> agentd
> exit or ctrl+c
>>> 请输入: """

choice_exec="""
执行内容
> start
> stop
> restart
> exit or ctrl+c
>>> 请输入: """

exec_case(){
    case ${1} in
    "server" ) zabbix_server ${2};;
    "agentd" ) zabbix_agentd ${2};;
    esac
}

server_status(){
    ps -ef |grep zabbix_server |grep -v grep &> /dev/null && echo "zabbix_server is running" || echo "zabbix_server is not running"
    ps -ef |grep zabbix_agentd |grep -v grep &> /dev/null && echo "zabbix_agentd is running" || echo "zabbix_agentd is not running"
}

exec_choice(){
    while [[ True ]];do
        server_status
        read -t 60 -ep "${choice_server}" server
        if [[ -z ${server} ]];then
            echo ">>> 超过60s未输入,自动退出 <<<"
            exit
        fi
        if [[ ${server} == "server" ]] || [[ ${server} == "agentd" ]];then
            read -t 60 -ep "${choice_exec}" exec
            if [[ -z ${exec} ]];then
                echo ">>> 超过60s未输入,自动退出"
            fi
            if [[ ${exec} == "start" ]];then
                exec_case ${server} ${exec}
            elif [[ ${exec} == "stop" ]];then
                exec_case ${server} ${exec}
            elif [[ ${exec} == "restart" ]];then
                exec_case ${server} ${exec}
            elif [[ ${exec} == "exit" ]];then
                echo exit...
                break
            else
                echo "重新输入服务名称!!!"
                continue
            fi
        elif [[ ${server} == "exit" ]];then
            echo exit...
            exit
        else
            echo "重新输入服务名称!!!"
        fi
    done
}

exec_choice

>> zabbix_agentd 启动脚本 <<

#!/bin/bash
server_dir="/data/zabbix6lts/sbin/";

zabbix_agentd(){
    cd ${server_dir}
    if [[ ${1} == "start" ]];then
        echo "zabbix_agentd start.."
        ./zabbix_agentd
        sleep 3s;
    elif [[ ${1} == "stop" ]];then
        echo "zabbix_agentd stop.."
        ps -ef |grep zabbix_agentd|grep -v grep |awk {'print $2'} |xargs kill -9
        sleep 3s;
    elif [[ ${1} == "restart" ]];then
        echo "zabbix_agentd restart.."
        ps -ef |grep zabbix_agentd|grep -v grep |awk {'print $2'} |xargs kill -9
        ./zabbix_agentd
        sleep 3s;
    fi
}

choice_exec="""
执行内容
> start
> stop
> restart
> exit or ctrl+c
>>> 请输入: """

server_status(){
    ps -ef |grep zabbix_agentd |grep -v grep &> /dev/null && echo "zabbix_agentd is running" || echo "zabbix_agentd is not running"
}

exec_choice(){
    while [[ True ]];do
        server_status
        read -t 60 -ep "${choice_exec}" exec
        if [[ -z ${exec} ]];then
            echo ">>> 超过60s未输入,自动退出"
        fi
        if [[ ${exec} == "start" ]];then
            zabbix_agentd "start"
        elif [[ ${exec} == "stop" ]];then
            zabbix_agentd "stop"
        elif [[ ${exec} == "restart" ]];then
            zabbix_agentd "restart"
        elif [[ ${exec} == "exit" ]];then
            echo exit...
            break
        else
            echo "重新输入!!!"
            continue
        fi
    done
}

exec_choice
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值