监控网站是否正常?wget命令的参数用途和列表
优采云 发布时间: 2021-06-06 02:14监控网站是否正常?wget命令的参数用途和列表
前言
最常用的监控网站URL 是否正常的方法是wget 和curl 命令。这两个命令都非常强大,强大到你看帮助都无法选择。
但我们还是要花时间去研究,研究会事半功倍。
wget
wget命令参数很多,至少有几十个,但运维工作中常用的并不多。最有用的列表如下:
命令参数使用说明
wget
下载网页或文件
–蜘蛛
通过模拟爬虫的行为访问网站,但不会下载网页
-q, --quiet
安静访问,无输出,类似 -o /dev/null 功能
-o, --output-file=FILE
记录输出到文件
-T, --timeout=SECONDS
访问网站超时
-t, –tries=NUMBER
网站异常时网站的重试次数
wget 监控方法示例
使用wget命令的返回值判断网站是否正常
1
2
3
# wget --spider -T 5 -q -t 2 www.sobaigu.com
# echo $? //利用返回值确定网站是否正常。
0
卷曲
curl命令参数比wget多,但是运维常用的参数不多,所以列举如下:
命令参数使用说明
卷曲命令
访问网站url
-I, --head
显示响应头信息
-m, --max-time
访问超时时间
-o, --output
记录访问信息到文件
-s, --silent
静默模式访问,即不输出任何信息
-w, --write-out
以固定的特殊格式输出,例如:%{http_code},输出状态码
curl监控方法示例使用curl命令返回值判断网站是否正常
1
2
3
4
# curl -s -o /dev/null www.sobaiguu.com
# echo $?
0
获取命令执行后的状态码(200表示正常)
1
2
3
# curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null www.sobaigu.com
200
一个监控指定网址是否正常的shell脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/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返回值方法也是可以的
//curl -s -o /dev/null $1
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 $* //这里的$*就是把命令行接收的所有参数作为函数参数传给函数内部,常用手法