ubuntu mysql 进程_Ubuntu Linux服务器中定时监测MySQL数据库进程终止时自动重启的方法 | 坐倚北风...

数据库是服务器中资源开销非常大的一个进程,当服务器出现内存不够用、CPU压力过大等问题时,数据库往往首当其冲被系统自动结束进程。下面通过一段Shell来实现在Ubuntu Linux服务器中定时监测MySQL数据库,当MySQL进程终止时将其自动重启。脚本中主要使用了pgrep命令进行进程监控。

1、创建监控脚本

脚本内容如下:

#!/bin/bash

pgrep mysqld &> /dev/null

if [ $? -gt 0 ]

then

echo "`date` mysql is stop" >> /var/log/mysql_listen.log

service mysqld start

else

echo "`date` mysql running" >> /var/log/mysql_listen.log

fi

其中 pgrep mysqld 是监测mysqld服务的运行状态,&> /dev/null 是将其结果输出到空文件,也就是不保存输出信息。$? 是拿到上一条命令的运行结果,-gt 0 是判断是否大于0,后面则是输出时间到日志文件,然后启动mysql,否则不启动mysql。

脚本可以放在任意目录中,脚本中的日志文件mysql_listen.log也可以放在任意目录中。编辑完脚本后需要对脚本进行授权,增加其可执行权限,例如脚本的文件名为listen.sh,则授权命令代码为:

sudo chmod 777 listen.sh

2、添加定时任务

脚本创建完成后,我们需要编辑一下corn调度表格来定时执行脚本内容,命令如下:

crontab -e

如果你是第一次编辑这个文件,会让你选择文件打开方式,选择一个自己熟悉的编辑器就可以了。打开后在文件的末尾添加如下代码:

*/5 * * * * /etc/mysql/listen.sh

/5代表五分钟执行一次,后面的四个点依次代表了,小时,日,月,星期。如果想要时间长一些,比如一小时调度一次,那就设置一下后面第一个*就好了。

编辑完成后重启cron服务,代码如下:

service cron restart

这样,每五分钟系统就会调用一下刚才写的那个脚本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值