1. 程式人生 > >開發監控MySQL 或者 Nginx Shell 指令碼

開發監控MySQL 或者 Nginx Shell 指令碼

思路可以參考表1:

表 1 監控Web服務和MySQL資料庫服務是否異常的常見方法

埠監控

1)伺服器本地監控服務埠的常見命令netstat、ss、lsof

2)從遠端監控伺服器本地埠的命令有telnet、nmap、nc

監控服務程序或進 程數

此方法適合本地伺服器,注意,過濾的是程序的名字。命令為:
ps -ef|grep nginx|wc -l

ps -ef|grep mysql|wc -l

在客戶端模擬使用者訪問

使用wget或curl命令程序測試(如果監測資料庫,則需要轉為通過Web伺服器去訪問資料庫),並對測試結果做三種判斷:

1)利用返回值(echo $?)進行判斷

2)獲取特殊字串以進行判斷(需要事先開發好程式)

3)根據HTTP響應header的情況進行判斷

登入MySQL資料庫判斷

通過MySQL客戶端連線資料庫,根據返回值或返回內容判斷。例如:

mysql -uroot -pmima -e “select version();” &>/dev/null;echo $?

下面給出Demo:

1)檢測MySQL是否啟動,如果沒有啟動就將其啟動。

指令碼mysql_mon.sh如下:

#!/bin/bash
if [ `netstat -tlunp|grep mysqld|wc -l` -gt 0 ]   #過濾程序名為mysqld,轉成數字
    then
        echo "MySQL is Running."
    else
        echo "MySQL is Stopped."
        service mysqld start
fi

2)開發監控NginxWeb 服務的指令碼。

指令碼nginx_mon.sh如下

#!/bin/bash
if [ `netstat -tlunp|grep nginx|wc -l` -gt 0 ] #過濾程序名為nginx,轉成數字
    then
        echo "Nginx is Running."
    else
        echo "Nginx is Stopped."
        /data/program/nginx/sbin/nginx
fi


相關推薦

開發監控MySQL 或者 Nginx Shell 指令碼

思路可以參考表1: 表 1 監控Web服務和MySQL資料庫服務是否異常的常見方法 埠監控 1)伺服器本地監控服務埠的常見命令netstat、ss、lsof 2)從遠端監控伺服器本地埠的命令有

zabbix監控mysqlnginx

ams word /dev/null -s openssl handle extract then active 剛開說mysql監控的時候 很容易遇到問題 而問題大部分出現在mysql的配置上面,看到我下面做的希望對你們有所幫助,哈哈 不聊了 好好學習 現在開始 1.創建

(轉)開發監控Linux 內存 Shell 腳本

amp 分析 分鐘 target line net ocl 發送郵件 使用情況 原文:http://blog.csdn.net/timchen525/article/details/76474017 題場景: 開發Shell 腳本判斷系統剩余內存的大小,如果低於100MB,

Linux MySQL資料庫備份shell指令碼

我們部署的伺服器常用是Linux系統。於是,為了保障資料安全,需要每隔一段時間,就對MySQL資料庫的資料進行備份。MySQL下的mysqldump命令,能讓我們有效的對想要的資料庫或者表進行備份。但由於這個操作具有間隔性和重複性,我們不可能每次手動去執行mysqldump命令來進行資料

Linux安裝nginx(shell指令碼)&軟體安裝之nginx

1.編寫installNginx.sh檔案 #!/bin/bash mydir=`pwd` if [ ! -f "$mydir/nginx-1.10.2.tar.gz" ];then

centos7 mysql自動備份 MySQL自動備份shell指令碼

MySQL自動備份shell指令碼   在資料庫的日常維護工作中,除了保證業務的正常執行以外,就是要對資料庫進行備份,以免造成資料庫的丟失,從而給企業帶來重大經濟損失。通常備份可以按照備份時資料庫狀態分為熱備和冷備,按照備份資料庫檔案的大小分為增量備份、差異備份和全量備份.一

mysql原始碼安裝shell指令碼

#!/bin/bash ############mysql安裝文件,請把mysql和cmake的壓縮包放在虛擬機器/tmp下############# rm -rf /etc/yum.repos.d/* #修改yum配置檔案 cat <<EOF > /

mysql -- 通過linux shell 指令碼,匯出部分資料

1.構建我的shell 指令碼 (1)最初情況 下面這些語句還是有不少缺點的,從中可以看出來有大量的重複,應該想辦法簡化,嘗試去使用變數。簡化之後,達到的目的應該是最少的修改。 #!/bin/bash mysqldump -h172.24.64.179 -umisc -p1

mysql資料遷移shell 指令碼

有兩個指令碼第一個mysql_db_trans.sh,第二個mysql_all_db_trans.sh。這個兩個指令碼可能存在缺陷,放在這裡只是為了方便自己檢視。 mysql_db_trans.sh #!/bin/sh tmp_dbname=$1 db_old_name=

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    now

zabbix監控mysql指令碼shell

#MYSQL_SOCK="/alidata1/mysql3360/mysql.sock" MYSQL_PATH='mysqladmin' MYSQL_USER='zabbix' MYSQL_PWD='[email protected]@' MYSQL_HOST='10.162.19

linux-shell指令碼,監控nginx,tomcat,redis,php-cli,磁碟狀態

郵件配置: [[email protected] sh]# which mail /bin/mail You have new mail in /var/spool/mail/root [[email protected] sh]#

Nginx+lua(openresty)開發環境搭建shell指令碼

下面是自動搭建的指令碼,採用的是直接殺死本機執行80埠的程式。 #!/bin/bash mkdir -p /usr/servers cd /usr/servers/ yum install -y perl pcre-devel openssl openss

shell指令碼一鍵安裝LNMP(liunx+nginx+mysql+php)環境

#!/bin/bash # author:kwin # Email:[email protected] src="/usr/local/src/" cd $src #找到指定程序,並殺死 #findPortKill 80 findPortKi

shell指令碼實現linux系統監控

一、系統監控要監控什麼? 硬體 CPU: [[email protected] ~]# top | sed -n '3p' 記憶體: 檢視系統記憶體的使用情況: 硬碟: 檢視磁碟的使用情況 系統 負載: 系統執行時間: 檢視作業系統的版

shell指令碼開發基本規範及習慣

1.開頭指定指令碼直譯器 2.開頭加版本版權等資訊 eg:日期(Date),作者(Author),聯絡方式(Mail),功能(Func),版本(Version) 提示:可配置vim編輯檔案時自動加上以上資訊,方法時修改~/.vimrc配置檔案 3.指令碼中儘量不要用中文註釋,儘可能有英文註釋

Shell 指令碼中執行mysql語句

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

mysql備份shell指令碼

#!/bin/sh # 備份保留時間 7天 BTIME=7 # 檔名 DATENAME=`date "+%Y-%m-%d_%H_%M"` # 備份目錄 _DIR="/data/" # 資料庫資訊 USER="root" PWD="123456" DATABASE="test" # 備份並

shell 指令碼通過nginx日誌封訪問頻率過高的IP

#/bin/bash #日誌檔案 logfile=/usr/local/tengine/logs last_minutes=1 #開始時間 start_time=`date -d"$last_minutes minutes ago" +"%H:%M:%S"` echo $start_t

shell指令碼mysql資料庫的備份,並壓縮

db_user="root"db_passwd="xxx"db_host="localhost" databases="xxx-prod" backup_dir="/backup/mysql_backup" backip_test="/home/ttx/app/mysql_backup/today"