1. 程式人生 > >第十二節 shell編寫監控指令碼

第十二節 shell編寫監控指令碼

一.nc的用法

nc(netcat),一般我們多用在區域網內傳送檔案(scp多用在跳板機存在的情況),可查詢man nc檢視它的說明,更多用法請google之。
1.基本引數
①想要連線到某處:

 nc [-options] hostname port[s] [ports] ......

②繫結埠等待連線:

nc -l -p port [-options] [hostname] [port]

引數:
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ……
-h 幫助資訊
-i seconds延時的間隔
-l 監聽模式,用於入站連線
-n 指定數字的IP地址,不能用hostname
-o file 記錄16進位制的傳輸
-p port本地埠號
-r 任意指定本地及遠端埠
-s addr本地源地址
-u UDP模式
-v 詳細輸出——用兩個
-v可得到更詳細的內容
-w seconds timeout的時間
-z 將輸入輸出關掉——用於掃描時,其中埠號可以指定一個或者用lo-hi式的指定範圍。
2.用法舉例
1)埠掃描 (多做遠端埠監控)

nc -v -w 3 10.1.50.58 -z 21-25

結果如下:

nc: connect to 10.1.50.58 port 21 (tcp) failed: Connection refused  
    Connection to 10.1.50.58 22 port [tcp/ssh] succeeded!  
nc: connect to 10.1.50.58 port 23 (tcp) failed: Connection refused  
nc: connect to 10.1.50.58 port 24 (tcp) failed: Connection refused  
nc: connect to
10.1.50.58 port 25 (tcp) failed: Connection refused

2)檔案拷貝
a.啟動監聽:

nc -l 9999 > tmp.txt

b.傳送檔案:

nc 0.0.0.0 9999 < .bashrc

c.檢視檔案:

cat tmp.txt

3)聊天工具–一般不怎麼用
在10.1.50.58上: nc -l 1111
在mx9.mail.sohu.com上: nc 10.1.50.58 1111
這樣,雙方就可以相互交流了。使用ctrl+C(或D)退出。
3.用nc操作memcache及nosql等
1)儲存資料:printf “set key 0 10 4\r\nkaka\r\n” |nc 10.1.50.58 11211
2)獲取資料:printf “get key\r\n” |nc 10.1.50.58 11211
3)刪除資料:printf “delete key\r\n” |nc 10.1.50.58 11211
4)檢視狀態:printf “stats\r\n” |nc 10.1.50.58 11211

二.編寫web伺服器監控指令碼

這裡寫圖片描述

三.編寫mysql資料庫監控指令碼

這裡寫圖片描述

四.編寫disk空間使用監控指令碼

這裡寫圖片描述

五.編寫mem空間使用監控指令碼

這裡寫圖片描述