当前位置:   article > 正文

监控url是否正常脚本_wget --spider -q -o /dev/null --tries=1 -t 5 $1

wget --spider -q -o /dev/null --tries=1 -t 5 $1

1.用wget命令监控

wget命令

下载网页或文件

--spider

模拟爬虫的行为去访问网站,但不会下载网页

-q,    --quiet

安静的访问,禁止输出,类似-o /dev/null功能

-o,   --output-file=FILE

记录输出到文件

-T, --timeout=SECONDS

访问网站的超时时间

-t,   --tries=NUMBER

当网站异常时重试网站的次数

  1. #!/bin/sh
  2. function usage() {
  3. echo $"usage:$0 url"
  4. exit 1
  5. }
  6. function check_url() { #<==检测URL函数。
  7. wget --spider -q -o /dev/null --tries=1 -T 5 $1
  8. #<==采用wget返回值方法,这里的$1就是函数传参。
  9. #curl -s -o /dev/null $1 #<==采用curl返回值方法也是可以的。
  10. if [ $? -eq 0 ]
  11. then
  12. echo "$1 is yes."
  13. exit 0
  14. else
  15. echo "$1 is fail."
  16. exit 1
  17. fi
  18. }
  19. function main() { #<==主函数。
  20. if [ $# -ne 1 ] #<==如果传入的多个参数,则打印帮助函数,提示用户。
  21. then
  22. usage
  23. fi
  24. check_url $1 #<==接收函数的传参,即把结尾的$*传到这里。
  25. }
  26. 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},输出状态码

  1. #!/bin/bash
  2. usage () {
  3. echo "Usage:$0 url"
  4. exit 1
  5. }
  6. checkurl () {
  7. local num=`curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null|grep 200|wc -l`
  8. if [ $num -eq 1 ]
  9. then
  10. echo "$1 is ok"
  11. else
  12. echo "$1 is fail"
  13. fi
  14. }
  15. main () {
  16. if [ $# -ne 1 ]
  17. then
  18. usage
  19. fi
  20. checkurl $1
  21. }
  22. main $*
sh *.sh www.baidu.com
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/316666
推荐阅读
相关标签
  

闽ICP备14008679号