Shell之-开机自启所有服务

开机自启所有服务

首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!
我会在当天或者第二天及时回复,并且改进~~


#!/bin/bash

sleep 300;

#####Start_Check#####
function Start_Check () {   

echo -e "\e[;33m -----------------Start_Check------------------ \e[0m"
echo ""
atlas_ip=(192.168.0.223 192.168.0.203)
for ((t = 0; t < ${#atlas_ip[@]}; t++))
do
    while true
    do
        fping ${atlas_ip[$t]} &> /dev/null && echo -e "\e[;32mAtlas:Atlas_${atlas_ip[$t]} up!!!\e[0m"; break || echo -e "\e[;31mAtlas_:Atlas_${atlas_ip[$t]} not start,Please start.\e[0m" ; exit 0
    done
done
echo ""
}

######Auto_Atlas#####
function Atlas_Check () {
echo -e "\e[;33m -----------------Atlas_Check----------------- \e[0m"
echo ""
Atlas_Server=(192.168.0.223 192.168.0.203)
for ((a = 0; a < ${#Atlas_Server[@]}; a++))
do
    file_list=($(ssh root@${Atlas_Server[$a]} "ls /usr/local/mysql-proxy/conf/" | awk -F"." '{print $1}'))
    for ((b = 0; b < ${#file_list[@]}; b++))
    do
        ssh root@${Atlas_Server[$a]} "ps -ef | grep -v grep |grep 'defaults-file=/usr/local/mysql-proxy/conf/${file_list[$b]}.cnf'" &> /dev/null
        if [ $? -eq 0 ]
      then
            echo -e "\e[;32mAtlas:${Atlas_Server[$a]}_${file_list[$b]} is a up\e[0m"
        else
            echo -e "\e[;31mAtlas:${Atlas_Server[$a]}_${file_list[$b]} is a down\e[0m"
            ssh root@${Atlas_Server[$a]} "/usr/local/mysql-proxy/bin/mysql-proxyd ${file_list[$b]} start" >>/dev/null &
        fi
    done
done
echo ""
}

#####Auto_Nginx#####
function Auto_Nginx () {
echo -e "\e[;33m -----------------Nginx_Check----------------- \e[0m"
echo ""
Nginx_Server=(192.168.0.221 192.168.0.203)
for ((c = 0; c < ${#Nginx_Server[@]}; c++))
do
    ssh root@${Nginx_Server[$c]} "ps -ef | grep -v grep | grep /usr/local/nginx/conf/nginx.conf" &> /dev/null
    if [ $? -eq 0 ]
    then
        echo -e "\e[;32mNginx:${Nginx_Server[$c]} Nginx_Server is s !!!\e[0m"
    else
        echo -e "\e[;31mNginx:${Nginx_Server[$c]} Nginx_Server is a down!!!\e[0m"
        ssh root@${Nginx_Server[$c]} "ulimit -SHn 65535;/usr/local/nginx/sbin/nginx"
    fi
done
echo ""
}

#####Auto_Tomcats#####  
function Auto_Tomcats () {
echo -e "\e[;33m ---------------Tomcats_Check--------------- \e[0m"
echo ""
Tomcat_Server=(192.168.0.223 192.168.0.221 192.168.0.212 192.168.0.211 192.168.0.209 192.168.0.206  192.168.0.205 192.168.0.203)
for ((i = 0; i < ${#Tomcat_Server[@]}; i++))
do
    tomcats=($(ssh root@${Tomcat_Server[$i]} "ls -l /usr/local/tomcats | grep ^d " | egrep -v "(D:|deploy)" | awk '{print $NF}'))
    for ((n = 0; n < ${#tomcats[@]}; n++))
    do
        ssh root@${Tomcat_Server[$i]} "ps -ef | grep -v grep | grep ${tomcats[$n]}" &> /dev/null
        if [ $? -eq 0 ] 
        then
            echo -e "\e[;32mTomcats:${Tomcat_Server[$i]}_${tomcats[$n]} status is a up !!!\e[0m"
        else
            echo -e "\e[;31mTomcats:${Tomcat_Server[$i]}_${tomcats[$n]} status is a down !!!\e[0m"
            ssh root@${Tomcat_Server[$i]} "JAVA_HOME=/usr/local/java;JAVA_BIN=/usr/local/java/bin;PATH=$PATH:$JAVA_BIN;CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar;export JAVA_HOME JAVA_BIN PATH CLASSPATH;/usr/local/tomcats/${tomcats[$n]}/bin/startup.sh"
        fi
    done
done
echo ""
}

#####Auto_Mysqld#####
function Auto_Mysqld () {
echo -e "\e[;33m ----------------Mysqld_Check-------------- \e[0m"
echo ""
Mysql_Server=(192.168.0.207 192.168.0.204 192.168.0.213)
for ((s = 0; s < ${#Mysql_Server[@]}; s++))
do
    ssh root@${Mysql_Server[$s]} "service mysql status | grep -v grep | grep OK" &> /dev/null
    if [ $? -eq 0 ]
    then
        echo -e "\e[;32mMysql:${Mysql_Server[$s]}_Mysqlservice is a up!!!\e[0m"
    else
        echo -e "\e[;31mMysql:${Mysql_Server[$s]}_Mysqlservice is a down!!!\e[0m"
        ssh root@${Tomcat_Server[$s]} "service mysql start"
    fi  
done
echo ""
}

######Auto_Zabbix_Proxy#####
function Auto_Zabbix_Proxy () {
echo -e "\e[;33m --------------Zabbix_Proxy_Check------------- \e[0m"
echo ""
Zabbix_Proxy=(192.168.0.221)
for ((z = 0; z < ${#Zabbix_Proxy[@]}; z++))
do
    ssh root@${Zabbix_Proxy[$z]} "ps -ef | grep -v grep | grep zabbix_proxy" &> /dev/null
    if [ $? -eq 0 ]
    then
        echo -e "\e[;32mZabbix:${Zabbix_Proxy[$z]}_Zabbix_Proxy is a up!!!\e[0m"
    else
        echo -e "\e[;31mZabbix:${Zabbix_Proxy[$z]}_Zabbix_Proxy is a down!!!\e[0m"
        ssh root@${Zabbix_Proxy[$z]} "/usr/local/zabbix/sbin/zabbix_proxy"
    fi
done
echo ""
}

#####Auto_Zabbix_Agent#####
function Auto_Zabbix_Agent () {
echo -e "\e[;33m --------------Zabbix_Agent_Check------------ \e[0m"
echo ""
Zabbix_Agent=(192.168.0.206 192.168.0.205 192.168.0.223 192.168.0.214 192.168.0.212 192.168.0.211 192.168.0.209 192.168.0.213 192.168.0.207 192.168.0.204 192.168.0.221 192.168.0.203)
for ((o = 0; o < ${#Zabbix_Agent[@]}; o++))
do
    ssh root@${Zabbix_Agent[$o]} "ps -ef | grep -v grep | grep zabbix_agentd" &> /dev/null
    if [ $? -eq 0 ]
    then
        echo -e "\e[;32mZabbix:${Zabbix_Agent[$o]}_Zabbix_Agent is a up!!!\e[0m"
    else
        echo -e "\e[;31mZabbix:${Zabbix_Agent[$o]}_Zabbix_Agent is a down!!!\e[0m"
        ssh root@${Zabbix_Agent[$o]} "/usr/local/zabbix/sbin/zabbix_agentd"
    fi
done
echo ""
}

Start_Check
Atlas_Check
Auto_Nginx
Auto_Tomcats
Auto_Mysqld
Auto_Zabbix_Proxy
Auto_Zabbix_Agent
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值