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

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

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

我們知道 SSL 證書是會過期的,一旦過期之后需要重新申請。如果沒有及時更換證書的話,就有可能導致網站出問題,給公司業務帶來一定的影響

 

所以說我們要每隔一定時間去檢查網站上的 SSL 證書是否過期

 

如果公司業務體量較大的話,肯定不止一個域名,而一個域名后面又會對應著多臺機器,如果我們手動輸入命令一臺臺檢測的話,所需要的精力和時間是很大的

 

那么今天咸魚跟大家介紹一個自己平常在用的自動檢測 SSL 過期時間的 shell 腳本

 

完整代碼在文末

 
思路

 

前面我們說到,一個公司(一個業務)底下可能會有多個域名多個 IP 地址,所以說我們需要整理出來放到一個文件里面,如下所示

圖片

 

 

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

 

首先我們對 domain.txt 中的內容進行循環遍歷,提取出域名和 ip 池

圖片

 

然后再遍歷 ip 池,取出每一個 ip 地址,然后執行檢測命令,把檢測到的結果存進 text 變量里

圖片

 

我們著重看下檢測命令

圖片

 

圖片

 

輸出信息如下(即 text 變量內容)

圖片

 

其中 notBefore 是開始時間,notAfter 是過期時間

 

需要注意的是,如果提取不到 SSL 證書的信息,那么  text  里面是沒有內容的,所以在檢測過期時間之前我們需要判斷一下

圖片

 

然后我們提取出輸出的 SSL 證書信息中 notAfter  的值,然后轉換成時間戳的形式,并且求出當前的時間戳

圖片

 

最后我們用過期時間減去當前時間,得出剩余時間,再對剩余時間做判斷

圖片

 

我們來看下執行結果:

  • 證書未過期

圖片

 

  • 證書快過期

圖片

 

  • 證書已過期

圖片

 

 
完整腳本

 

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 )                # 判斷命令是否執行成功,執行成功的話 text 變量里面是有內容的                if [[ ${text} ]]                 then                    end_date=$(echo "$text" | grep -i "notAfter" | awk -F '=' '{print $2}') # 證書過期時間                    end_timestamp=$(date -d "$end_date" +%s) # 轉換成時間戳
                    current_timestamp=$(date +%s) # 當前時間戳
                    # 如果證書過期時間減去當前時間的天數小于七天的話,則提示需要準備更換證書了                    remain_date=$(( (${end_timestamp} - ${current_timestamp}) / 86400 ))                    if [[ ${remain_date} -lt 7 && ${remain_date} -ge 0 ]]                    then                        echo -e "e[31m剩余時間小于七天!請及時更換證書!e[0m"                        echo -e "e[31mip: ${ip}, ${domain}e[0m"                    elif [[ ${remain_date} -lt 0 ]]                    then                        echo -e "e[31m證書已過期!請及時更換證書!e[0m"                    else                        echo -e "e[32m剩余天數為:${remain_date}e[0m"                    fi                else                            echo -e "e[31mError!${ip}e[0m"                            echo -e "e[31m${domain}e[0m"                fi        donedone

 

分享到:
標簽:腳本
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定