新聞中心
監(jiān)控網(wǎng)站URL是否正常最常見(jiàn)的方法莫過(guò)于wget和curl命令了,這兩個(gè)命令都是非常強(qiáng)大的,強(qiáng)大到網(wǎng)友查看幫助都無(wú)從選擇的地步了,今天呢,老男孩老師正好錄制Shell編程實(shí)戰(zhàn)課程。

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)東營(yíng)區(qū),10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18980820575
wget命令
wget命令的參數(shù)非常多,至少也有數(shù)十個(gè), 但是運(yùn)維工作中常用的并不多,老男孩老師把最有用的列表如下。
wget命令 下載網(wǎng)頁(yè)或文件
--spider 模擬爬蟲(chóng)的行為去訪問(wèn)網(wǎng)站,但不會(huì)下載網(wǎng)頁(yè)
-q, --quiet 安靜的訪問(wèn),禁止輸出,類(lèi)似-o /dev/null功能
-o, --output-file=FILE 記錄輸出到文件
-T, --timeout=SECONDS 訪問(wèn)網(wǎng)站的超時(shí)時(shí)間
-t, --tries=NUMBER 當(dāng)網(wǎng)站異常時(shí)重試網(wǎng)站的次數(shù)
實(shí)際監(jiān)控方法如下:利用wget命令返回值確定網(wǎng)站是否正常
[root@oldboy ~]# wget --spider -T 5 -q -t 2 www.oldboyedu.com
[root@oldboy ~]# echo $? # 0
curl命令
curl命令的參數(shù)比wget的參數(shù)還多,但運(yùn)維中常用的參數(shù)也并不多,因此也是列表如下:
curl命令 訪問(wèn)網(wǎng)站url
-I/--head 顯示響應(yīng)頭信息
-m/--max-time 訪問(wèn)超時(shí)的時(shí)間
-o/--output 記錄訪問(wèn)信息到文件
-s/--silent 沉默模式訪問(wèn),就是不輸出信息
-w/--write-out 以固定特殊的格式輸出,例如:%{http_code},輸出狀態(tài)碼
實(shí)際監(jiān)控方法
1、利用curl命令返回值確定網(wǎng)站是否正常
[root@oldboy ~]# curl -s -o /dev/null www.oldboyedu.com
[root@oldboy ~]# echo $?
0
2、獲取命令執(zhí)行后的狀態(tài)碼(200表示正常)
[root@oldboy ~]# curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null www.baidu.com
200
3 開(kāi)發(fā)Shell腳本實(shí)現(xiàn)監(jiān)控指定的URL是否正常
解答:
方法1:
#!/bin/sh
function usage() { # echo $"usage:$0 url" exit 1 } function check_url() { # wget --spider -q -o /dev/null --tries=1 -T 5 $1 # #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 $* #
實(shí)踐結(jié)果
[root@oldboy ~]# sh checkurl.sh www.oldboyedu.com
www.oldboyedu.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
方法2:
[root@oldboy ~]# cat checkurl1.sh
#!/bin/bash
##############################################################
# File Name: checkurl.sh
# Version: V1.0
# Author: oldboy
# Organization: www.oldboyedu.com
# 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 ] # then echo "$1 is ok" else echo "$1 is fail" fi } main(){ if [ $# -ne 1 ] then usage fi checkurl $1 } main $*
實(shí)踐結(jié)果
[root@oldboy ~]# sh checkurl.sh www.oldboyedu.com
www.oldboyedu.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
如果網(wǎng)友能否讀懂本文,相信以后再寫(xiě)監(jiān)控網(wǎng)站URL的腳本就會(huì)很輕松了。
本文標(biāo)題:Shell腳本習(xí)題:監(jiān)控網(wǎng)站URL運(yùn)行情況
URL分享:http://m.fisionsoft.com.cn/article/cdjocie.html


咨詢(xún)
建站咨詢(xún)
