我的编程空间,编程开发者的网络收藏夹
学习永远不晚

重写启动脚本

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

重写启动脚本

!/bin/bash

user=root
port=3306
CmdPath=/opt/mysql/bin
password=xxxxxxxxxx

base_dir=/opt/mysql
inst_dir=/data/3306
alive="00"
sMysqld=0
sMysqldSafe=0
fSock=0
fPID=0

check_alive()
{
echo "running check_alive..."
if [ ps -ef | grep $port | grep -v grep | grep 'mysqld ' |awk '{print $2}' ];then
echo "Process mysqld is running!"
sMysqld=1
else
echo "Process mysqld is not running!"
sMysqld=0
fi

     if [  `ps -ef | grep 3306 | grep -v grep | grep 'mysqld_safe' |awk '{print $2}'` ];then 
        echo "Process mysqld_safe is running!"
        sMysqldSafe=1
 else 
    echo "Process mysqld_safe is not running!"
    sMysqldSafe=0
     fi

     if [ -e  ${inst_dir}/mysql.sock ];then
        echo "socked file exists!"
        fSock=1
 else 
    echo "socked file not exists!"
    fSock=0
     fi

     if [ -e  ${inst_dir}/mysql.pid ];then
        echo "pid file exists!"
        fPID=1
 else 
    echo "pid file  not exists!"
    fPID=0
     fi

     if [ $sMysqld -eq 1 ];then
        if [ $fPID -eq 0 ];then
            echo "PID is missing, tring to recreate..."
            ps -ef | grep $port | grep -v grep | grep 'mysqld ' |awk '{print $2}' > ${inst_dir}/mysql.pid
            if [ -e ${inst_dir}/mysql.pid ]; then
                echo "pid file is created!"
            else
                echo "can not create PID file, please have a check!"
            fi
        fi
        if [ $sMysqldSafe -eq 0 ];then
            echo "Process mysqld_safe is missing, please have a check! May cause mysqld crash!"
        fi
        if [ $fSock -eq 1 ];then
            echo "MySQL running fine!!!"
            alive="11"
        else
            echo "socket file is missing, you may have to login without socket!"
            alive="10"          
        fi                          
     else
        echo "process mysqld is missing, mysql is stopped!"
        if [ $fSock -eq 1 ] | [ $fPID -eq 1 ];then
            echo "mysql was stopped abnormality!"
            echo "cleaning socket file and pid file"
            alive="01"
        else
            alive="00"
    fi

     fi

}

start_mysql()
{
check_alive
printf "MySQL is starting ... \n"
if [ $alive == "00" ]; then
${CmdPath}/mysqld_safe --defaults-file=${inst_dir}/my.cnf --user=${user} 2>&1 >/dev/null &
else
if [ $alive == "11" ]; then
echo "MySQL is runnig!"
else
if [ $alive == "01" ]; then
echo "MySQL was stopped but pid or sock file still exits!"
echo "Cleanning pid or sock files!"
if [ $fSock -eq 1 ];then
rm -f ${inst_dir}/mysql.sock
fi
if [ $fPID -eq 1 ];then
rm -f ${inst_dir}/mysql.pid
fi
echo "Tring to start MySQL again!!!"
${CmdPath}/mysqld_safe --defaults-file=${inst_dir}/my.cnf --user=${user} 2>&1 >/dev/null &
fi
fi
fi
}

stop_mysql()
{
check_alive
printf "MySQL is Stopping...\n"
if [ $alive == "11" ]; then
${CmdPath}/mysqladmin -u root -p${password} -S ${inst_dir}/mysql.sock shutdown 2>&1 >/dev/null &
else
if [ $alive == "10" ]; then
${CmdPath}/mysqladmin -u root -p${password} -h $HOSTNAME -P $port --protocol tcp shutdown 2>&1 >/dev/null &
else
echo "MySQL is not running, no need stop!"
fi
fi
}

restart_mysql()
{
stop_mysql
sleep 5
if [ $? == 0 ];then
start_mysql
else
echo "stop mysql failed!"
fi
}

case $1 in

start)
start_mysql
;;
stop)
stop_mysql
;;
restart)
restart_mysql
;;
status)
status_mysql
;;
alive)
check_alive
;;
*)
printf "Please in put start|stop|restart|status as input"
;;
esac

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

重写启动脚本

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何编写linux自动重启tomcat脚本

这篇文章主要介绍“如何编写linux自动重启tomcat脚本”,在日常操作中,相信很多人在如何编写linux自动重启tomcat脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何编写linux自动重启to
2023-06-09

linux定时重启脚本怎么写

在Linux系统中,可以使用crontab来设置定时任务,包括定时重启系统的任务。以下是一个示例的Linux定时重启脚本,可以在crontab中设置每天凌晨3点执行:创建脚本文件:在终端中运行以下命令创建一个重启脚本文件,比如restar
linux定时重启脚本怎么写
2024-03-06

linux自动重启tomcat脚本分享

#!/bin/bash##chkconfig: 35 88 14#description: tomcat auto start script#script by okhelpercase "$1" instart)echo "Here is
2022-06-04

自动重启挂掉的python脚本

跑程序,因为内存问题或者其它blabla问题(总之不是代码问题),程序可能会偶尔挂掉,我们又不能整天盯着程序,怎么办呢?写个脚本来检查程序是否挂掉,如果挂掉就重启,这是一个不错的想法,具体做法依操作系统而不同。方法1 在linux下可以新建
2023-01-31

Linux开机自动启动的脚本怎么写

这篇文章的内容主要围绕Linux开机自动启动的脚本怎么写进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!一、在/etc/rc.local中添加 如果不
2023-06-28

Linux中python自启动和定时启动脚本怎么写

这篇“Linux中python自启动和定时启动脚本怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux中pytho
2023-06-28

CentOS Tomcat的启动服务脚本怎么写

CentOS Tomcat的启动服务脚本怎么写,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. tomcat 自带的 jsvc, 这个工具会启动2个线程,如果
2023-06-10

linux bash脚本监控启动停止weblogic服务的脚本写法

有时,linux系统需要做HA或者类似的功能,需要配置weblogic脚本来启动,停止,查看状态,可以如下方式写 命令形式:Weblogic server start|stop|restart|status### BEGIN WLS Con
2022-06-04

Windows编写jar启动脚本和关闭脚本的操作方法

脚本文件,通常放入/bin目录下,编写启动脚本需要保证能够识别到对应的jar文件,其次需要保证能够识别到/config中的配置文件信息,这篇文章主要介绍了Windows编写jar启动脚本和关闭脚本的操作方法,需要的朋友可以参考下
2022-12-29

自动重启服务的shell脚本代码

#!/bin/bash if [ ! -f /tmp/down_count ];then echo "0" > /tmp/down_count fi curl -I tomcat-host -o "/tmp/status" >/dev/nu
2022-06-04

Nginx和PHP-FPM的启动、重启、停止脚本分享

服务器上的Nginx和PHP都是源码编译安装的,不像ubuntu一样有自带service启动脚本,所以不支持类似以前的nginx (start|restart|stop|reload)了。自己动手丰衣足食。以下脚本应该在RHEL, Fedo
2022-06-04

编程热搜

目录