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

Linux Shell+Curl網(wǎng)站健康狀態(tài)檢查腳本,抓出中國博客聯(lián)盟失聯(lián)站點

 更新時間:2016年02月20日 22:00:12   投稿:mdxy-dxy  
這篇文章主要介紹了Shell+Curl網(wǎng)站健康狀態(tài)檢查腳本,抓出中國博客聯(lián)盟失聯(lián)站點,需要的朋友可以參考下

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

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

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

隨后,我在VPS上寫了一個多線程的網(wǎng)站狀態(tài)檢測腳本,直接從數(shù)據(jù)庫load站點地址,然后用curl去檢測返回碼,發(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配置進行調(diào)整。
thread=100
for ((i=0 ;i<$thread;i++ ))
do
    echo
done>&6
#開始多線程循環(huán)檢測
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返回碼的站點
echo List of exception website:
cat result.log | grep -v 200
exit 0 

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

Shell+Curl網(wǎng)站健康狀態(tài)檢查腳本,抓出中國博客聯(lián)盟失聯(lián)站點

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

Shell+Curl網(wǎng)站健康狀態(tài)檢查腳本,抓出中國博客聯(lián)盟失聯(lián)站點

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

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

相關文章

  • Shell正則表達式驗證IP地址

    Shell正則表達式驗證IP地址

    這篇文章主要介紹了Shell正則表達式驗證IP地址,本文給出了多個方法,并分別給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • linux下部署kodexplorer的方法

    linux下部署kodexplorer的方法

    下面小編就為大家?guī)硪黄猯inux下部署kodexplorer的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 判斷Linux Shell環(huán)境變量是否存在

    判斷Linux Shell環(huán)境變量是否存在

    這篇文章主要介紹了Linux Shell 判斷環(huán)境變量是否存在的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • linux shell之控制臺打印各種顏色字體和背景的實現(xiàn)方法

    linux shell之控制臺打印各種顏色字體和背景的實現(xiàn)方法

    今天小編就為大家分享一篇關于linux shell之控制臺打印各種顏色字體和背景的實現(xiàn)方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Shell中正則表達式及sed和awk常見問題

    Shell中正則表達式及sed和awk常見問題

    本文主要介紹了Shell中正則表達式及sed和awk常見問題,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Linux查看當前使用的shell的方法總結(jié)

    Linux查看當前使用的shell的方法總結(jié)

    這篇文章總結(jié)了在Linux和Unix系統(tǒng)中查看當前使用的shell的幾種方法,包括使用$0環(huán)境變量、$SHELL環(huán)境變量、ps命令、echo命令、readlink命令和grep命令,并通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2025-03-03
  • 詳解shell數(shù)組${arr[*]}和${arr[@]}區(qū)別

    詳解shell數(shù)組${arr[*]}和${arr[@]}區(qū)別

    本文主要介紹了詳解shell數(shù)組${arr[*]}和${arr[@]}區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • CentOS7運行.sh腳本提示syntax error: unexpected end of file的解決方法

    CentOS7運行.sh腳本提示syntax error: unexpected end of file的解決方法

    這篇文章主要介紹了解決執(zhí)行腳本報syntax error: unexpected end of file或syntax error near unexpected token fi錯誤的問題,需要的朋友可以參考下
    2020-02-02
  • Linux查找處理文件名后包含空格的文件(兩種方法)

    Linux查找處理文件名后包含空格的文件(兩種方法)

    在linux中如何查找處理文件名后包含空格的文件呢?怎么批量替換處理這些空格呢?下面小編給大家?guī)砹藘煞N方法,需要的朋友參考下吧
    2017-11-11
  • Linux命令行循環(huán)執(zhí)行shell命令

    Linux命令行循環(huán)執(zhí)行shell命令

    這篇文章主要介紹了Linux命令行,循環(huán)執(zhí)行shell命令的相關知識,主要包括死循環(huán),普通計數(shù)循環(huán),以及Linux shell循環(huán)命令 while死循環(huán)的用法,需要的朋友可以參考下
    2023-01-01

最新評論

明水县| 南木林县| 徐州市| 固原市| 吴忠市| 邢台市| 嘉善县| 辽源市| 阳城县| 临漳县| 汝阳县| 虎林市| 波密县| 荆门市| 托里县| 石渠县| 济南市| 威海市| 德惠市| 昌平区| 浙江省| 咸宁市| 嘉义县| 县级市| 寿宁县| 桂阳县| 兴仁县| 孟州市| 广宁县| 长顺县| 嘉禾县| 平陆县| 绥芬河市| 赣榆县| 屏东市| 盐池县| 甘洛县| 霍山县| 金秀| 扶余县| 大英县|