监控网站80端口
很多时候我们不知道网站80端口是否正常,当然我以前的shell监控网站状态(续)这篇文章也可以监控网站,这里只是给大家提供另外一个思路去监控网站.
脚本内容:
代码如下 |
复制代码 |
vi check-80.sh
#!/bin/bash
nmap -P0 -p80 -sS -vv blog.slogra.com|grep 80 |tail -n1>/tmp/nmap.txt
check_80=`cat /tmp/nmap.txt|awk '{print $2}'`
if [ "$check_80" != "open" ]; then
body="www.it.net.cn port 80 is error!"
subject="blog.slogra.com port 80 down,check it now!@from monitor `date +%T`"
echo "${body}"| mutt -s "${subject}" rocdk@163.com
fi
|
shell脚本监控网站是否正常
1. 编写Shell脚本,保存到/opt/http_monitor
代码如下 |
复制代码 |
#!/bin/bash
#网站url地址
URL="http://www.it.net.cn/"
#获取http响应代码
HTTP_CODE=`curl -o /dev/null -s -w "%{http_code}" "${URL}"`
#echo $HTTP_CODE
#服务器能正常响应,应该返回200的代码
if [ $HTTP_CODE != 200 ];then
#重启服务
service httpd restart
fi
|
2. 增加到crontab,使用crontab -e命令添加新的任务:
Shell代码
代码如下 |
复制代码 |
#每分钟运行一次
*/1 * * * * /opt/http_monitor |
3. 停掉服务,测试,cool!一分钟后自动启动了!可是中文乱码了,查了一下原来是没有加载系统变量,好办,在http_monitor中加入locale环境变量就可以了:
Shell代码
代码如下 |
复制代码 |
export LC_ALL=zh_CN.UTF-8
|
注意
很多朋友使用dnspod监控,但它只能监控服务器是否可连接,如果网站中毒了可能就无法监测了。
(责任编辑:IT) |