最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell+Curl網(wǎng)站狀態(tài)檢查腳本 抓出無(wú)法訪問(wèn)的站點(diǎn)

 更新時(shí)間:2015年10月18日 22:54:50   作者:張戈  
這篇文章主要介紹了Shell+Curl網(wǎng)站狀態(tài)檢查腳本 抓出無(wú)法訪問(wèn)的站點(diǎn),需要的朋友可以參考下

一開(kāi)始搭建中國(guó)博客聯(lián)盟,既有博友提醒我,做網(wǎng)址大全這類(lèi)網(wǎng)站維護(hù)很麻煩,需要大量的精力去Debug一些已夭折的網(wǎng)站,更是拿松哥的博客大全舉例。當(dāng)然,我也是深以為然。前些時(shí)間,看到夢(mèng)軒麗人的boke123網(wǎng)址大全的維護(hù)記錄,好像是純手工檢查,張戈實(shí)在是佩服的五體投地,太有毅力了。


現(xiàn)在博客聯(lián)盟也收錄的博客也已破200了,全部來(lái)自自主提交,不管你是草博還是名博,張戈不會(huì)強(qiáng)買(mǎi)強(qiáng)賣(mài)。由于大部分都是建站不過(guò)半年的新站,半路放棄、提前太監(jiān)的博客估計(jì)還是有的,于是我決定還是把站點(diǎn)維護(hù)這個(gè)工作做起來(lái)。


上午用PHP做了一個(gè)放到了京東云試了下,發(fā)現(xiàn)檢測(cè)速度一般,要等上半天(我寫(xiě)的php太蹩腳,就不獻(xiàn)丑了)。
隨后,我在VPS上寫(xiě)了一個(gè)多線程的網(wǎng)站狀態(tài)檢測(cè)腳本,直接從數(shù)據(jù)庫(kù)load站點(diǎn)地址,然后用curl去檢測(cè)返回碼,發(fā)現(xiàn)速度非常好,基本1分鐘內(nèi)就能出結(jié)果


以下是腳本代碼:

#!/bin/bash
#Author:ZhangGe
#Date:2014-08-21
#Desc:Check the site of ZGboke Alliance.
#取出網(wǎng)站數(shù)據(jù)
data=`/usr/bin/mysql -uroot -p123456 -e "use zgboke;select web_url from dir_websites where web_status='3';" -N -B | awk '{print $1}'`
if [ -z "$data" ];then
    echo "Faild to connect database!"
    exit 1
fi
test -f result.log && rm -f result.log
function delay {
    sleep 3
}
tmp_fifofile=/tmp/$$.fifo
mkfifo $tmp_fifofile
exec 6<>$tmp_fifofile
rm $tmp_fifofile
#定義并發(fā)線程數(shù),需根據(jù)vps配置進(jìn)行調(diào)整。
thread=100
for ((i=0 ;i<$thread;i++ ))
do
    echo
done>&6
#開(kāi)始多線程循環(huán)檢測(cè)
for url in $data
do
    read -u6
    {
    #curl抓取網(wǎng)站http狀態(tài)碼
    code=`curl -o /dev/null --retry 3 --retry-max-time 8 -s -w %{http_code} $url`
    echo "$code ---> $url">>result.log
    #判斷子線程是否執(zhí)行成功,并輸出結(jié)果
    delay && {
        echo "$code ---> $url"
    } || {
        echo "Check thread error!"
    }
    echo >& 6
}&
done
#等待所有線程執(zhí)行完畢
wait
exec 6>&-
#找出非200返回碼的站點(diǎn)
echo List of exception website:
cat result.log | grep -v 200
exit 0

Ps:關(guān)于shell多線程腳本,后續(xù)文章會(huì)有一個(gè)詳細(xì)說(shuō)明,本文篇幅有限,就不多說(shuō)了。
以下是中國(guó)博客聯(lián)盟第一次成員站點(diǎn)存活檢測(cè)的結(jié)果:
①、 非200返回碼的異常站點(diǎn):

②、腳本抓取的無(wú)法訪問(wèn)站點(diǎn):

人工訪問(wèn)篩選結(jié)果:


wangyingxue.net(王英學(xué)博客):無(wú)法訪問(wèn),經(jīng)確認(rèn)處于備案中 √
www.tao0102.com(長(zhǎng)江博客):可以訪問(wèn) √
blog.hack7d.com(Mcdull技術(shù)博客):無(wú)法訪問(wèn) ×
www.1992621.com(教師日記):可以訪問(wèn) √
www.3miaotu.com(三秒兔):無(wú)法訪問(wèn) ×
xiaoxiaomayi.com(小小螞蟻博客):可以訪問(wèn) √
www.awrui.com(李文棟博客):可以訪問(wèn) √


Ps:腳本檢測(cè)機(jī)制為:8s內(nèi)未連通的判定為異常,并重試3次,最后輸出結(jié)果,若三次均異常則為000。從圖中和人工篩選可以看出,存在一些誤殺,這個(gè)和8s的設(shè)定有一定關(guān)系。可以考慮設(shè)置為更長(zhǎng)時(shí)間,得到更準(zhǔn)確的結(jié)果,當(dāng)然最終還是要結(jié)合人工確認(rèn)的,所以也沒(méi)多大關(guān)系。


后續(xù),中國(guó)博客聯(lián)盟會(huì)制訂一個(gè)檢查周期,最短每星期檢查一次,最長(zhǎng)一個(gè)月檢查一次,爭(zhēng)取讓每個(gè)展示的站點(diǎn)都能正常訪問(wèn)。當(dāng)然,我也會(huì)將每次檢查的結(jié)果公布在中國(guó)博客聯(lián)盟的站長(zhǎng)資訊專(zhuān)欄,方便所有成員查看。
由于目前中國(guó)博客聯(lián)盟部署在京東云擎,無(wú)法遠(yuǎn)程操控?cái)?shù)據(jù)庫(kù),所以只好暫時(shí)用半自動(dòng)的模式。等以后有時(shí)間搬到了阿里云等VPS上后,將會(huì)將腳本改成全自動(dòng)狀態(tài),當(dāng)有網(wǎng)站聯(lián)系多次檢測(cè)為失聯(lián)狀態(tài)時(shí),將會(huì)暫時(shí)將其設(shè)置為隱藏狀態(tài)。

相關(guān)文章

  • 編寫(xiě)你的shell其實(shí)很簡(jiǎn)單

    編寫(xiě)你的shell其實(shí)很簡(jiǎn)單

    寫(xiě)你的shell,其實(shí)很簡(jiǎn)單.沒(méi)有寫(xiě)過(guò)shell? 沒(méi)關(guān)系了,其實(shí)需求確定之后,你顯然已經(jīng)知道,這太簡(jiǎn)單了,需要的朋友可以參考下
    2016-01-01
  • 創(chuàng)建Linux系統(tǒng)服務(wù)的方法

    創(chuàng)建Linux系統(tǒng)服務(wù)的方法

    這篇文章主要介紹了通過(guò)linux sh創(chuàng)建Linux系統(tǒng)服務(wù)的方法,需要的朋友可以參考下
    2014-01-01
  • shell打印給定日期的日歷

    shell打印給定日期的日歷

    這篇文章主要為大家詳細(xì)介紹了shell打印給定日期的日歷,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Linux命令之ps命令使用詳解

    Linux命令之ps命令使用詳解

    這篇文章主要給大家介紹Linux命令之ps命令使用方法,文中有詳細(xì)的代碼示例,對(duì)我們學(xué)習(xí)Linux命令有一定的幫助,感興趣的同學(xué)可以參考閱讀下
    2023-06-06
  • 一個(gè)簡(jiǎn)單的防CC攻擊Shell腳本分享

    一個(gè)簡(jiǎn)單的防CC攻擊Shell腳本分享

    這篇文章主要介紹了一個(gè)簡(jiǎn)單的防CC攻擊Shell腳本分享,主要原理是分析apache或者nginx的訪問(wèn)日志,對(duì)大量訪問(wèn)的IP加入iptables進(jìn)行禁止訪問(wèn),需要的朋友可以參考下
    2014-06-06
  • linux 隨機(jī)密碼生成工具mkpasswd詳解及實(shí)例

    linux 隨機(jī)密碼生成工具mkpasswd詳解及實(shí)例

    這篇文章主要介紹了linux 隨機(jī)密碼生成工具mkpasswd詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Linux 日常常用指令及應(yīng)用小結(jié)

    Linux 日常常用指令及應(yīng)用小結(jié)

    最近在學(xué)習(xí)一些基本的Linux指令,在這里總結(jié)一下,在搭環(huán)境中常用的一些指令,熟悉這些指令就基本能夠使用CentOS進(jìn)行日常操作了
    2017-08-08
  • CentOS 6.3下給PHP添加mssql擴(kuò)展模塊教程

    CentOS 6.3下給PHP添加mssql擴(kuò)展模塊教程

    這篇文章主要介紹了CentOS 6.3下給PHP添加mssql擴(kuò)展模塊教程,本文使用freetds編譯安裝實(shí)現(xiàn),需要的朋友可以參考下
    2014-09-09
  • linux 權(quán)限管理命令腳本解析

    linux 權(quán)限管理命令腳本解析

    這篇文章主要為大家介紹了linux 權(quán)限管理命令腳本解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Linux?systemd?定時(shí)任務(wù)原理解析

    Linux?systemd?定時(shí)任務(wù)原理解析

    說(shuō)到?Linux?定時(shí)任務(wù),大家用得最多的就是?crond?服務(wù),但其實(shí)?systemd?也有類(lèi)似的功能,我們不但可以通過(guò)?systemd?來(lái)管理服務(wù),還能設(shè)置定時(shí)任務(wù),那就是?systemd?timer,接下來(lái)通過(guò)本文介紹Linux?systemd?定時(shí)任務(wù)的相關(guān)知識(shí),需要的朋友可以參考下
    2024-04-04

最新評(píng)論

嘉鱼县| 南溪县| 芮城县| 德昌县| 云林县| 温泉县| 沙湾县| 万州区| 六安市| 泗洪县| 大港区| 汉源县| 海口市| 东丰县| 石家庄市| 新乡县| 永泰县| 大港区| 周至县| 漳州市| 洮南市| 曲麻莱县| 潜江市| 若羌县| 温州市| 蒲城县| 正定县| 上饶县| 临沧市| 锦州市| 龙门县| 宁夏| 惠水县| 广灵县| 化德县| 沁阳市| 垫江县| 凤冈县| 楚雄市| 永平县| 浦北县|