zabbix監控URL是否正常
阿新 • • 發佈:2018-07-03
spa $* trie echo $? l命令 參數 color -m 傳參
wget命令
[root@oldboy ~]# wget --spider -T 5 -q -t 2 www.jd.com [root@oldboy ~]# echo $? #<==利用返回值確定網站是否正常。 0
curl命令
1、利用curl命令返回值確定網站是否正常
[root@zabbix ~]# curl -s -o /dev/null www.xxxx.com [root@zabbix ~]# echo $? 0
2、獲取命令執行後的狀態碼(200表示正常)
[root@zabbix ~]# curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null www.baidu.com200
方法一:wget
#!/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 $* #<==這裏的$*就是
測試
[root@oldboy ~]#sh checkurl.sh www.jd.com www.jd.com is ok [root@oldboy ~]# sh checkurl.sh www.baidu.com www.baidu.com is ok [root@oldboy ~]# sh checkurl.sh 10.0.0.8 10.0.0.8 is fail
方法二:curl
[root@oldboy ~]# cat checkurl1.sh #!/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 ] #<==采用獲取狀態碼,並轉為數字的方式判斷,如果301認為正確也可以加上egrep過濾。 then echo "$1 is ok" else echo "$1 is fail" fi } main(){ if [ $# -ne 1 ] then usage fi checkurl $1 } main $*
測試
[root@oldboy ~]# sh checkurl.sh www.jd.com www.jd.com is ok [root@oldboy ~]# sh checkurl.sh www.baidu.com www.baidu.com is ok [root@oldboy ~]# sh checkurl.sh 10.0.0.8 10.0.0.8 is fail
文章來源:https://mp.weixin.qq.com/s?__biz=MzAxOTE5NjQwOA==&mid=2650114763&idx=1&sn=4628f1b5080ae882f5672d39b39518ec&chksm=83cb9a5cb4bc134ab106b0d07a6cbb88ca2ae23d4c6e14325cf4564a0df66e6256dd96c0d557&mpshare=1&scene=23&srcid=0702cR1hmz7WwthkWMTRHVPX#rd
zabbix監控URL是否正常