--spider 模拟爬虫的行为去访问网站,但不会下载网页
-q, --quiet 安静的访问,禁止输出,类似-o /dev/null功能
-o, --output-file=FILE 记录输出到文件
-T, --timeout=SECONDS 访问网站的超时时间
-t, --tries=NUMBER 当网站异常时重试网站的次数
实际监控方法如下:利用wget命令返回值确定网站是否正常
[root@oldboy ~]# wget --spider -T 5 -q -t 2
[root@oldboy ~]# echo $? #< ==利用返回值确定网站是否正常。
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 ]
echo "$1 is yes."
exit 0
echo "$1 is fail."
exit 1
function main() { #<==主函数。
if [ $# -ne 1 ] #<==如果传入的多个参数,则打印帮助函数,提示用户。
usage
check_url $1 #<==接收函数的传参,即把结尾的$*传到这里。
main $* #<==这里的$*就是把命令行接收的所有参数作为函数参数传给函数内部,常用手法。
[root@oldboy ~]# cat checkurl1.sh
#!/bin/bash
##############################################################
# File Name: checkurl.sh
# Version: V1.0
# Author: oldboy
# Organization:
# Created Time : 2018-06-07 18:29:19
##############################################################
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 ] #< ==采用获取状态码,并转为数字的方式判断,如果301认为正确也可以加上egrep过滤。
echo "$1 is ok"
echo "$1 is fail"
main(){
if [ $# -ne 1 ]
usage
checkurl $1
main $*
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员