赞
踩
1.用wget命令监控
wget命令 | 下载网页或文件 |
--spider | 模拟爬虫的行为去访问网站,但不会下载网页 |
-q, --quiet | 安静的访问,禁止输出,类似-o /dev/null功能 |
-o, --output-file=FILE | 记录输出到文件 |
-T, --timeout=SECONDS | 访问网站的超时时间 |
-t, --tries=NUMBER | 当网站异常时重试网站的次数 |
#!/bin/sh function usage() { echo $"usage:$0 url" exit 1 } function check_url() { #<==检测URL函数。 wget --spider -q -o /dev/null --tries=1 -T 5 $1 #<==采用wget返回值方法,这里的$1就是函数传参。 #curl -s -o /dev/null $1 #<==采用curl返回值方法也是可以的。 if [ $? -eq 0 ] then echo "$1 is yes." exit 0 else echo "$1 is fail." exit 1 fi } function main() { #<==主函数。 if [ $# -ne 1 ] #<==如果传入的多个参数,则打印帮助函数,提示用户。 then usage fi check_url $1 #<==接收函数的传参,即把结尾的$*传到这里。 } main $* #<==这里的$*就是把命令行接收的所有参数作为函数参数传给函数内部,常用手法。
sh *.sh www.baidu.com
2. 用url监控
curl命令 | 访问网站url |
-I/--head | 显示响应头信息 |
-m/--max-time <seconds> | 访问超时的时间 |
-o/--output <file> | 记录访问信息到文件 |
-s/--silent | 沉默模式访问,就是不输出信息 |
-w/--write-out <format> | 以固定特殊的格式输出,例如:%{http_code},输出状态码 |
sh *.sh www.baidu.com
#!/bin/bash usage () { echo "Usage:$0 url" exit 1 } checkurl () { local num=`curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null|grep 200|wc -l` if [ $num -eq 1 ] then echo "$1 is ok" else echo "$1 is fail" fi } main () { if [ $# -ne 1 ] then usage fi checkurl $1 } main $*
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。