日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

我們知道 SSL 證書是會(huì)過(guò)期的,一旦過(guò)期之后需要重新申請(qǐng)。如果沒(méi)有及時(shí)更換證書的話,就有可能導(dǎo)致網(wǎng)站出問(wèn)題,給公司業(yè)務(wù)帶來(lái)一定的影響

 

所以說(shuō)我們要每隔一定時(shí)間去檢查網(wǎng)站上的 SSL 證書是否過(guò)期

 

如果公司業(yè)務(wù)體量較大的話,肯定不止一個(gè)域名,而一個(gè)域名后面又會(huì)對(duì)應(yīng)著多臺(tái)機(jī)器,如果我們手動(dòng)輸入命令一臺(tái)臺(tái)檢測(cè)的話,所需要的精力和時(shí)間是很大的

 

那么今天咸魚跟大家介紹一個(gè)自己平常在用的自動(dòng)檢測(cè) SSL 過(guò)期時(shí)間的 shell 腳本

 

完整代碼在文末

 
思路

 

前面我們說(shuō)到,一個(gè)公司(一個(gè)業(yè)務(wù))底下可能會(huì)有多個(gè)域名多個(gè) IP 地址,所以說(shuō)我們需要整理出來(lái)放到一個(gè)文件里面,如下所示

圖片

 

 

整理出來(lái)之后,后面只需要循環(huán)遍歷 domAIn.txt 中的每一行內(nèi)容,然后把域名和 ip 地址分別提取出來(lái)一個(gè)一個(gè)去檢測(cè)就行了

 

首先我們對(duì) domain.txt 中的內(nèi)容進(jìn)行循環(huán)遍歷,提取出域名和 ip 池

圖片

 

然后再遍歷 ip 池,取出每一個(gè) ip 地址,然后執(zhí)行檢測(cè)命令,把檢測(cè)到的結(jié)果存進(jìn) text 變量里

圖片

 

我們著重看下檢測(cè)命令

圖片

 

圖片

 

輸出信息如下(即 text 變量?jī)?nèi)容)

圖片

 

其中 notBefore 是開始時(shí)間,notAfter 是過(guò)期時(shí)間

 

需要注意的是,如果提取不到 SSL 證書的信息,那么  text  里面是沒(méi)有內(nèi)容的,所以在檢測(cè)過(guò)期時(shí)間之前我們需要判斷一下

圖片

 

然后我們提取出輸出的 SSL 證書信息中 notAfter  的值,然后轉(zhuǎn)換成時(shí)間戳的形式,并且求出當(dāng)前的時(shí)間戳

圖片

 

最后我們用過(guò)期時(shí)間減去當(dāng)前時(shí)間,得出剩余時(shí)間,再對(duì)剩余時(shí)間做判斷

圖片

 

我們來(lái)看下執(zhí)行結(jié)果:

  • 證書未過(guò)期

圖片

 

  • 證書快過(guò)期

圖片

 

  • 證書已過(guò)期

圖片

 

 
完整腳本

 

for line in $(cat domain.txt)do        domain=$(echo ${line} | awk -F':' '{print $1}')        ip_pool=$(echo ${line} | awk -F '[a-z]:' '{print $2}' | sed 's/,/ /g')        for ip in ${ip_pool}        do                echo -e "e[33m---------------start to check---------------e[0m"                echo -e "ip:${ip}ndomain:${domain}"
                text=$(echo | openssl s_client -servername ${domain} -connect ${ip}:443 2>/dev/null | openssl x509 -noout -dates )                # 判斷命令是否執(zhí)行成功,執(zhí)行成功的話 text 變量里面是有內(nèi)容的                if [[ ${text} ]]                 then                    end_date=$(echo "$text" | grep -i "notAfter" | awk -F '=' '{print $2}') # 證書過(guò)期時(shí)間                    end_timestamp=$(date -d "$end_date" +%s) # 轉(zhuǎn)換成時(shí)間戳
                    current_timestamp=$(date +%s) # 當(dāng)前時(shí)間戳
                    # 如果證書過(guò)期時(shí)間減去當(dāng)前時(shí)間的天數(shù)小于七天的話,則提示需要準(zhǔn)備更換證書了                    remain_date=$(( (${end_timestamp} - ${current_timestamp}) / 86400 ))                    if [[ ${remain_date} -lt 7 && ${remain_date} -ge 0 ]]                    then                        echo -e "e[31m剩余時(shí)間小于七天!請(qǐng)及時(shí)更換證書!e[0m"                        echo -e "e[31mip: ${ip}, ${domain}e[0m"                    elif [[ ${remain_date} -lt 0 ]]                    then                        echo -e "e[31m證書已過(guò)期!請(qǐng)及時(shí)更換證書!e[0m"                    else                        echo -e "e[32m剩余天數(shù)為:${remain_date}e[0m"                    fi                else                            echo -e "e[31mError!${ip}e[0m"                            echo -e "e[31m${domain}e[0m"                fi        donedone

 

分享到:
標(biāo)簽:腳本
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定