一监控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 判断返回值或者返回内容,
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
然后去判断上一个命令的执行结果 $?
另外一个是故意在网站上放一个页面,然后去取下来检查里边的东西是不是固定的