腳本實現(xiàn)SSL證書到期監(jiān)控示例
發(fā)布日期:2022-07-20 19:54 | 文章來源:腳本之家
1)準備工作
創(chuàng)建一個企業(yè)微信賬號,并創(chuàng)建一個組,在組里面配置企業(yè)微信提供的機器人。將機器人提供的 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)
# 通過計算獲取到證書的剩余天數(shù)
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
# 定義企業(yè)微信機器人的 API 接口
WebHook='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=2743320b-0a2c-404b-87bc-25fedf1ff67a'
# 通過 Curl 命令來發(fā)送 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
到此這篇關于腳本實現(xiàn)SSL證書到期監(jiān)控示例的文章就介紹到這了,更多相關SSL證書到期監(jiān)控腳本內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
相關文章
上一篇:
關注官方微信