日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

腳本實現SSL證書到期監控示例_PowerShell

作者:愿許浪盡天涯 ? 更新時間: 2022-05-23 編程語言

1)準備工作

創建一個企業微信賬號,并創建一個組,在組里面配置企業微信提供的機器人。將機器人提供的 WebHook 地址保存。

2)編寫腳本

[root@Nginx ~]# bash ssl-monitor.sh 
[root@Nginx ~]# cat ssl-monitor.sh
#!/bin/bash
# 定義網站域名和端口號信息
WebName="www.baidu.com"
Port="443"
# 通過 Openssl 工具獲取到當前證書的到期時間
Cert_END_Time=$(echo | openssl s_client -servername ${WebName} -connect ${WebName}:${Port} 2> /dev/null | openssl x509 -noout -dates | grep 'After' | awk -F '=' '{print $2}' | awk '{print $1,$2,$4}')
# 將證書的到期時間轉化成時間戳
Cert_NED_TimeStamp=$(date +%s -d "$Cert_END_Time")
# 定義當前時間的時間戳
Create_TimeStamp=$(date +%s)
# 通過計算獲取到證書的剩余天數
Rest_Time=$(expr $(expr $Cert_NED_TimeStamp - $Create_TimeStamp) / 86400)
# 配置告警提示信息
echo "$WebName  網站的 SSL 證書還有 $Rest_Time 天后到期" > ssl-monitor.txt
# 判斷出證書時間小于 30 天的
if [ $Rest_Time -lt 30 ];then
# 定義企業微信機器人的 API 接口
WebHook='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=2743320b-0a2c-404b-87bc-25fedf1ff67a'
# 通過 Curl 命令來發送 Post 請求
curl "${WebHook}" -H 'Content-Type: application/json' -d '
{
    "msgtype": "text",
    "text": {
        "content": "'"$(cat ssl-monitor.txt)"'"
    }
}' &> /dev/null
fi

因為我們上面有配置條件判斷,所以在驗證的時,我們可以先將條件判斷刪除。

3)手動驗證

[root@Nginx ~]# bash ssl-monitor.sh 

在這里插入圖片描述

4)配置到 CronJob 中

[root@Nginx ~]# crontab -e
* 23 * * * /bin/bash /root/ssl-monitor.sh

原文鏈接:https://blog.csdn.net/weixin_46902396/article/details/122965103?

欄目分類
最近更新