一监控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
然后去判断上一个命令的执行结果 $?
另外一个是故意在网站上放一个页面,然后去取下来检查里边的东西是不是固定的
原文地址:http://blog.51cto.com/aklaus/2324879
时间: 2024-11-06 07:45:52