一監控web方法
1.端口
本地netstat -lantup | grep 3306| wc -l
ss -l lntp |grep 3306 | wc -l
lsof -i :3306
遠程(就是)
echo -e "\n" | telnet IP PORT |grep Connection | wc -l
nmap nmap www.baidu.com -p 80 | grep open | wc -l 端口開放的只是說明
rpm -qa | nc
2.進程
本地 ps -ef |grep 進程| wc -l
模擬用戶進行判斷wget curl 下載文本是否能夠或者狀態碼
數據庫的能夠經過-e 判斷返回值或者返回內容,mysql
if [ `netstat -lnt|grep 3306| ec -l ` -eq 0 ] if [ `ps -ef |grep mysql|grep -v grep| wc -l` | -gt 0 ] if [ `nc -w 2 localhost 22 &>/dev/null&&echo ok|grep ok| wc -l` -gt 0 ] if [ `nmap localhost -p 22 2>/dev/null | grep open |wc -l ` -gt 0 ] if [ `netstat -lntup | grep mysqld |wc -l ` -gt 0 ] if [ `lsof -i tcp:3306 | wc -l` -gt 0 ] lsof -i:端口 或者lsof -i tcp:端口 反引號能夠寫成$() 這樣寫最好,要不反引號容易丟掉 上面的問題在比對的時候-eq若是是空值和數字比較會報錯,因此用-eq的時候必定要考慮空值 不要取值進行比較,必定要取行進行比較 這樣省事 if [ "`curl -l -s -o -w "%{http_code}\n" http://localhost `" = "200" ] /dev/null -w if [ `curl -I http://127.0.0.1 2>/dev/null |head -l | grep 200 | wc -l ` -eq 1 ] if [ `curl -s http://127.0.0.1 &>/dev/null&&echo $?`" ="0" ] curl -s http://localhost &>/dev/null 而後去判斷上一個命令的執行結果 $? 另一個是故意在網站上放一個頁面,而後去取下來檢查裏邊的東西是否是固定的