shell指令碼:監控MySQL服務是否正常
監控MySQL服務是否正常,通常的思路為:檢查3306埠是否啟動,ps檢視mysqld程式是否啟動,命令列登入mysql執行語句返回結果,php或jsp程式檢測(需要開發人員開發程式)等等;
方法1:監聽3306埠
#!/bin/bash
#written by mofansheng@2015-10-15
port=`netstat -nlt|grep 3306|wc -l`
if [ $port -ne 1 ]
then
/etc/init.d/mysqld start
else
echo "MySQL is running"
fi
方法2:檢視mysqld程式
注意注意:如果使用程式過濾的話,指令碼名稱如果裡面包含mysql的話,指令碼執行有坑,切記!!!因為會把指令碼也grep了一次,導致結果不準確;
[root@localhost baby]# cat check_mysql.sh
#!/bin/bash
#written by mofansheng@2015-10-15
process=`ps -ef |grep mysql|grep -v grep |wc -l`
if [ $process -ne 2 ]
then
/etc/init.d/mysqld start
else
echo "MySQL is running"
fi
執行結果如下:
[root@localhost baby]# sh check_mysql.sh
Starting MySQL SUCCESS!
改名之後執行為正常結果:
[root@localhost baby]# mv check_mysql.sh check_db.sh
[root@localhost baby]# sh check_db.sh
MySQL is running
方法3:雙保險,程式和埠都成功才算mysql服務正常
#!/bin/bash
#written by mofansheng@2015-10-15
port=`netstat -nlt|grep 3306|wc -l`
process=`ps -ef |grep mysql|grep -v grep |wc -l`
if [ $port -eq 1 ] && [ $process -eq 2 ]
then
echo "MySQL is running"
else
/etc/init.d/mysqld start
fi
4:使用客戶端登入mysql執行命令,檢視返回結果測試服務是否啟動,理論上此方法最可靠。
[root@localhost baby]# cat check_db_client.sh
#!/bin/bash
#written by mofansheng@2015-10-15
mysql -uroot -p123456 -e "select version();" &>/dev/null
if [ $? -ne 0 ]
then
/etc/init.d/mysqld start
else
echo "MySQL is running"
fi
執行結果如下:
[root@localhost baby]# sh check_db_client.sh
MySQL is running
©著作權歸作者所有:來自51CTO部落格作者模範生的原創作品,如需轉載,請註明出處,否則將追究法律責任
linuxmysqlshellShell指令碼
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2157/viewspace-2820507/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用Shell指令碼程式監控網站URL是否正常指令碼網站
- shell指令碼監控啟動停止weblogic服務指令碼Web
- shell監控服務程式是否啟動
- Shell指令碼監控MySQL主從狀態指令碼MySql
- 【shell】磁碟監控指令碼指令碼
- 分享實用監控指令碼:使用Shell檢查程式是否存在指令碼
- Shell 系統資訊監控指令碼指令碼
- 案例五:shell指令碼實現定時監控http服務的執行狀態指令碼HTTP
- 通過shell指令碼檢測MySQL服務資訊指令碼MySql
- 監控磁碟使用率的shell指令碼指令碼
- centos 監控web站點是否500 指令碼CentOSWeb指令碼
- 教你如何監控網站URL是否正常網站
- Grafana+Prometheus 監控 MySql服務GrafanaPrometheusMySql
- MySQL 5.6大查詢和大事務監控指令碼(Python 2)MySql指令碼Python
- yii2 日誌自動傳送到釘釘 實時監控服務是否執行正常
- 透過shell指令碼監控日誌切換頻率指令碼
- 在Linux中,如何使用shell指令碼判斷某個服務是否正在執行?Linux指令碼
- shell監控mysql 8.0資料庫MySql資料庫
- shell監控mysql 5.7資料庫MySql資料庫
- 利用 Shell 指令碼來監控 Linux 系統的記憶體指令碼Linux記憶體
- 用於自動監控磁碟使用情況的 Shell 指令碼指令碼
- 服務監控工具
- MySQL資料庫與Nacos搭建監控服務MySql資料庫
- 如何用bash shell 指令碼監控 Linux記憶體、磁碟和 CPU?指令碼Linux記憶體
- PostgreSQL之鎖監控指令碼SQL指令碼
- Ubuntu下監控服務Ubuntu
- 用 Linux Shell 指令碼來監控磁碟使用情況併傳送郵件Linux指令碼
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- 監控系統告警指令碼集合指令碼
- SpringBoot系列——admin服務監控Spring Boot
- APM效能監控軟體的監控型別服務及監控流程型別
- MySQL5.7/8.0效能分析shell指令碼MySql指令碼
- 專案實戰:zabbix監控MySQL狀態、服務資訊MySql
- shell指令碼指令碼
- 正常執行時間監控
- prometheus監控golang服務實踐PrometheusGolang
- 談服務可用性監控
- SpringBoot快速整合SpringBootAdmin管控臺監控服務Spring Boot