網站首頁 編程語言 正文
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?
相關推薦
- 2023-03-16 numpy如何獲取array中數組元素的索引位置_python
- 2022-11-14 JVM中的垃圾回收
- 2022-10-10 AOSP源碼下載示例代碼_Android
- 2022-09-16 Golang實現Biginteger大數計算實例詳解_Golang
- 2022-11-28 linux?iptables防火墻中的工作常用命令_linux shell
- 2022-04-01 6個實用的Python自動化腳本詳解_python
- 2022-04-20 Python?設計模式中命令模式_python
- 2022-04-25 .NET避免裝箱的方法_實用技巧
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支