使用 Shell 脚本定期检查 MySQL 服务是否正常运行
以 MySQL 服务为例,假设我们想定期检查该服务是否正常运行,如果运行异常则重启该服务,从而确保服务尽快恢复。
在 Linux 系统中,如果我们想查看某个服务的运行状态,可以使用 systemctl status 命令,例如:
$ systemctl status mysql ● mariadb.service - MariaDB 10.3.34 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-08-13 19:34:07 CST; 2h 32min ago ...... 12345
如果 Active 一栏显示 “active”,则表示服务运行正常。
如果你只想关心 Active 状态,还可以使用 systemctl is-active 命令,这样返回的结果会更加简洁。
$ systemctl is-active mysql active 12
为了实现文章开头的需求,我们可以编写一个 Shell 脚本程序 keep_mysql_active.sh,内容如下:
#!/bin/bash function keep_mysql_service_active() { result=`systemctl is-active mysql` # result: active or inactive if [[ $result = "active" ]]; then echo "[-] MySQL is active" exit fi echo "[-] MySQL is inactive" echo "[-] Restart now" sudo systemctl restart mysql echo "[-] Done!" } function main() { keep_mysql_service_active } main 123456789101112131415161718192021222324
如果 MySQL 服务为 active 状态,则结束本次检测;如果为 inactive 状态,则尝试重启 MySQL 服务。
为了让该程序自动定期运行,例如每隔一分钟检查一次,我们可以使用 Linux 定时任务管理。打开一个终端,输入 crontab -e 命令,编辑 cron 任务规划列表,在末尾加上如下一行:
* * * * * /opt/keep_mysql_active.sh 1
这里假设 keep_mysql_active.sh 脚本文件存放于 /opt 目录,并且具有可执行权限。
这样,我们就实现了 MySQL 服务的自动定期检测和重启的功能!
相关知识
MySQL绿色版安装【一键安装脚本】
linux的shell中变量的含义
国产化数据迁移:从Oracle到MySQL平台的数据无缝迁移工具
使用Python调用mysql
linux expect的使用详解,实例
linux系统常用命令大全
Mysql查询条件判断是否包含字符串的方法实现
sed、awk调用shell变量的方法
强势开源,Star 破百,仅一行代码,拥有网址导航 + 博客 + 后台管理网站。强势开源,花森网站基于 vue.js(2
爱捣鼓Shell编程3:相等判断符=、==、
原文链接: 使用 Shell 脚本定期检查 MySQL 服务是否正常运行 https://www.huajiangbk.com/newsview1217111.html
| 上一篇: 全面解析电力电缆绝缘性测试的重要... | 下一篇: 实验室消防 |
推荐分享

- 1明日花キララ:明日花绮罗年度... 24684
- 2明日花キララ(明日花绮罗)经... 14486
- 3家庭养花知识大全 家庭养花有... 9875
- 4家庭养花风水知识 家庭养花“... 9586
- 5兰花叶子扭的是什么兰 8872
- 6五月天婷婷开心六月丁香:音乐... 8565
- 7君子兰什么品种最名贵 十大名... 8316
- 8秋天养花,掌握这5点养花知识... 8098
- 9十大致癌花卉排行榜,哪些花卉... 7915
- 10【花卉知识 】养花须知:新手... 7701




