国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

Linux Shell+Curl網站健康狀態檢查腳本,抓出中國博客聯盟失聯站點

2020-07-27 19:02:55
字體:
來源:轉載
供稿:網友

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

現在博客聯盟也收錄的博客也已破200了,全部來自自主提交,不管你是草博還是名博,張戈不會強買強賣。由于大部分都是建站不過半年的新站,半路放棄、提前太監的博客估計還是有的,于是我決定還是把站點維護這個工作做起來。

上午用PHP做了一個放到了京東云試了下,發現檢測速度一般,要等上半天(我寫的php太蹩腳,就不獻丑了)。

隨后,我在VPS上寫了一個多線程的網站狀態檢測腳本,直接從數據庫load站點地址,然后用curl去檢測返回碼,發現速度非常好,基本1分鐘內就能出結果
以下是腳本代碼:

#!/bin/bash#Author:ZhangGe#Date:2014-08-21#Desc:Check the site of ZGboke Alliance.#取出網站數據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 1fitest -f result.log && rm -f result.logfunction delay {    sleep 3}tmp_fifofile=/tmp/$$.fifomkfifo $tmp_fifofileexec 6<>$tmp_fifofilerm $tmp_fifofile#定義并發線程數,需根據vps配置進行調整。thread=100for ((i=0 ;i<$thread;i++ ))do    echodone>&6#開始多線程循環檢測for url in $datado    read -u6    {    #curl抓取網站http狀態碼    code=`curl -o /dev/null --retry 3 --retry-max-time 8 -s -w %{http_code} $url`    echo "$code ---> $url">>result.log    #判斷子線程是否執行成功,并輸出結果    delay && {        echo "$code ---> $url"    } || {        echo "Check thread error!"    }    echo >& 6}&done#等待所有線程執行完畢waitexec 6>&-#找出非200返回碼的站點echo List of exception website:cat result.log | grep -v 200exit 0 

Ps:關于shell多線程腳本,后續文章會有一個詳細說明,本文篇幅有限,就不多說了。
以下是中國博客聯盟第一次成員站點存活檢測的結果:
①、 非200返回碼的異常站點:

Shell+Curl網站健康狀態檢查腳本,抓出中國博客聯盟失聯站點

②、腳本抓取的無法訪問站點:

Shell+Curl網站健康狀態檢查腳本,抓出中國博客聯盟失聯站點

人工訪問篩選結果:
wangyingxue.net(王英學博客):無法訪問,經確認處于備案中 √
www.tao0102.com(長江博客):可以訪問 √
blog.hack7d.com(Mcdull技術博客):無法訪問 ×
www.1992621.com(教師日記):可以訪問 √
www.3miaotu.com(三秒兔):無法訪問 ×
xiaoxiaomayi.com(小小螞蟻博客):可以訪問 √
www.awrui.com(李文棟博客):可以訪問 √

Ps:腳本檢測機制為:8s內未連通的判定為異常,并重試3次,最后輸出結果,若三次均異常則為000。從圖中和人工篩選可以看出,存在一些誤殺,這個和8s的設定有一定關系??梢钥紤]設置為更長時間,得到更準確的結果,當然最終還是要結合人工確認的,所以也沒多大關系。
后續,中國博客聯盟會制訂一個檢查周期,最短每星期檢查一次,最長一個月檢查一次,爭取讓每個展示的站點都能正常訪問。當然,我也會將每次檢查的結果公布在中國博客聯盟的站長資訊專欄,方便所有成員查看。
由于目前中國博客聯盟部署在京東云擎,無法遠程操控數據庫,所以只好暫時用半自動的模式。等以后有時間搬到了阿里云等VPS上后,將會將腳本改成全自動狀態,當有網站聯系多次檢測為失聯狀態時,將會暫時將其設置為隱藏狀態。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: SHOW| 新安县| 建平县| 榆社县| 蒙山县| 周口市| 探索| 资中县| 沂源县| 定襄县| 正阳县| 霍林郭勒市| 开原市| 门源| 泾源县| 华宁县| 乡城县| 莱阳市| 雅江县| 上虞市| 朝阳市| 潮州市| 姜堰市| 耒阳市| 隆尧县| 张家界市| 凉城县| 无棣县| 孟州市| 留坝县| 交城县| 岐山县| 上林县| 郸城县| 延寿县| 山丹县| 龙口市| 清流县| 石屏县| 榆林市| 武山县|