shell腳本:通過功能變數名稱獲取證書的過期時間

来源:https://www.cnblogs.com/zhanglianghhh/archive/2018/09/30/9732208.html
-Advertisement-
Play Games

需要兩個文件,一個用於存儲功能變數名稱信息,另一個是檢測腳本 註意:這兩個文件是在一個目錄下 domain_ssl.info 【存儲功能變數名稱信息】 check_domain_time.sh 【檢測腳本】 執行結果 參考博文:linux學習第七十一篇:shell腳本:通過功能變數名稱獲取證書的過期時間並郵件告警 ...


 

  需要兩個文件,一個用於存儲功能變數名稱信息,另一個是檢測腳本

  註意:這兩個文件是在一個目錄下

 

domain_ssl.info 【存儲功能變數名稱信息】

1 [root@mini05 20180930]# cat domain_ssl.info 
2 # 檢測百度功能變數名稱
3 www.baidu.com:443

 

check_domain_time.sh 【檢測腳本】

 1 [root@mini05 20180930]# cat check_domain_time.sh 
 2 #!/bin/bash
 3 ################ Version Info ##################
 4 # Create Date: 2018-09-29
 5 # Author:      Zhang
 6 # Mail:        [email protected]
 7 # Version:     1.0
 8 # Attention:   通過功能變數名稱獲取證書的過期時間
 9 ################################################
10 # V1.0.0 2018-09-29 腳本編寫    張
11 #      1.通過功能變數名稱獲取證書的過期時間
12 ################################################
13 
14 # 載入環境變數
15 . /etc/profile
16 . ~/.bash_profile
17 . /etc/bashrc
18 
19 # 腳本所在目錄即腳本名稱
20 script_dir=$( cd "$( dirname "$0"  )" && pwd )
21 script_name=$(basename ${0})
22 
23 readFile="${script_dir}/domain_ssl.info"
24 grep -v '^#' ${readFile} | while read line;do #讀取存儲了需要監測的功能變數名稱的文件
25     # echo "${line}"
26     get_domain=$(echo "${line}" | awk -F ':' '{print $1}')
27     get_port=$(echo "${line}" | awk -F ':' '{print $2}')
28 
29     # echo ${get_domain}
30     # echo "${get_port}"
31     # echo "======"
32 
33     END_TIME=$(echo | openssl s_client -servername ${get_domain}  -connect ${get_domain}:${get_port} 2>/dev/null | openssl x509 -noout -dates |grep 'After'| awk -F '=' '{print $2}'| awk -F ' +' '{print $1,$2,$4 }' )
34     #使用openssl獲取功能變數名稱的證書情況,然後獲取其中的到期時間
35     END_TIME1=$(date +%s -d "$END_TIME") #將日期轉化為時間戳
36     NOW_TIME=$(date +%s -d "$(date | awk -F ' +'  '{print $2,$3,$6}')") #將目前的日期也轉化為時間戳
37 
38     RST=$(($(($END_TIME1-$NOW_TIME))/(60*60*24))) # 到期時間減去目前時間再轉化為天數
39 
40     echo "${RST}"
41 done

 

執行結果

1 [root@mini05 20180930]# ./check_domain_time.sh 
2 238

 

 

參考博文:linux學習第七十一篇:shell腳本:通過功能變數名稱獲取證書的過期時間並郵件告警

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • .Net平臺下相容.NET Standard 2.0,一個實現以Lambda表達式轉轉換標準SQL語句,使用強類型操作數據的輕量級ORM工具,在減少魔法字串同時,通過靈活的Lambda表達式組合,實現業務數據查詢的多樣性。 ...
  • 0.簡介 Abp 框架為我們自帶了審計日誌功能,審計日誌可以方便地查看每次請求介面所耗的時間,能夠幫助我們快速定位到某些性能有問題的介面。除此之外,審計日誌信息還包含有每次調用介面時客戶端請求的參數信息,客戶端的 IP 與客戶端使用的瀏覽器。有了這些數據之後,我們就可以很方便地復現介面產生 BUG ...
  • 一、ASPX 登陸界面驗證碼 1、登陸驗證碼圖片和輸入驗證碼框 2、js $(function () { $("#loginBtn").click(function () { var Pwd = $("#PwdTbx").val(); var md5pwd = $.md5(Pwd); $("#Pwd ...
  • 1.字體顏色 1.1顏色及對應數字 顏色表 前景 背景 顏色 30 40 黑色 31 41 紅色 32 42 綠色 33 43 黃色 34 44 藍色 35 45 紫紅色 36 46 青藍色 37 47 白色 1.2 其他 0 OFF 1高亮顯示 4 underline 7 反白顯示 8 不可見 1 ...
  • kubernetes(通常簡稱為K8S),是一個用於管理在容器中運行的應用的容器編排工具。 Kubernetes不僅有你所需要的用來支持複雜容器應用的所有東西,它還是市面上最方便開發和運維的框架。 Kubernetes的工作原理是通過將容器分組來把一個應用程式拆分成多個邏輯單元,以方便管理和發現。它 ...
  • 3.1 cat cat命令作用: 1、查看文件內容 2、把多個文件合併成一個文件 3、編輯文件內容 4、結合>>和<<EOF進行編輯 5、清空文件內容 -n參數 從1開始對所有輸出的內容按行編號 -b參數 忽略顯示空白行行號 -E參數 在每一行行尾顯示$符號(即使是空行 結尾也是有結束標識的) -s ...
  • 作為一個運維人員編寫Shell腳本是很平常的,一個格式好的腳本不僅賞心悅目,後期自己和別人也易於維護。 下麵的腳本就是我自己的shell編寫格式,如下: 測試如下: ...
  • 1.首先下載ReactOS源碼(版本是0.4.5,最新版本0.4.9暫沒有編譯),然後下載RosBe(版本是2.1.6) 2.將下載好的ReactOS源碼包放到指定磁碟的文件夾中,目錄路徑為英文(重要),下麵規定為%os_path 3.安裝RosBe,安裝過程註意選擇ReactOS存放路徑,應為%o ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...