1. 程式人生 > >Linux Centos7通過shell指令碼來監控mysql的執行狀態

Linux Centos7通過shell指令碼來監控mysql的執行狀態

vim checkmysql.sh

#!/bin/sh
#create by mingongge at 2018-10-10
port=`netstat -lnt|grep 3306|wc -l`

if  [ $post -ne 1 ] ;then
   nowtimes=$(date"+%Y%m%d-%H%M%S")
   echo "\nmysql is stop time:"$nowtimes >> ./checkmysql.txt
   systemctl restart mtsqld
else
   echo "mysql is running"
fi
 

ctrl+c  wq! 儲存退出

注意 這個時候在伺服器上執行指令碼  sh checkmysql.sh  

會報錯。

百度了一下原因,這個是因為sh腳本里面的if這邊的規則。

 [ ] 兩邊的中括號前後都要是空格

shell的關鍵字和格式真蛋疼

修改完這個後繼續執行  會報

 

這個是因為shell腳本里面  只有整數才能用-ne  eq 這種做比較  字串建議使用 = 號來做判斷

 

注意 shell指令碼使用變數賦值成指令碼命令  需要使用反引號

小白需要注意這種細節!