当前位置: 首页 > news >正文

SSL证书到期自动巡检脚本-推送钉钉告警

1. 编写SSL证书巡检脚本

  cat   /hao/batch_check_ssl_expire.sh

#!/bin/bash# 域名列表文件绝对路径
domains_file="/hao/domains.txt"#钉钉webhook
webhook_url="https://oapi.dingtalk.com/robot/send?access_token=9999999999999999999999999999999999999999999999999999"#钉钉推送告警信息
dingding_push(){curl      -H "Content-Type: application/json" \-d '{"msgtype": "text","text": {"content": "【重要告警】: 【'"$domain"'】 的SSL证书将在【'"$remaining_days"'】 天内过期。"}}' $webhook_url
}# 检查每个域名的SSL证书
while read -r domain; do# 获取当前日期的Unix时间戳(秒)current_timestamp=$(date +%s)# 使用openssl s_client命令获取证书信息,并通过grep和awk提取到期日期expires=$(echo | openssl s_client -connect "$domain":443 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d'=' -f2)if [ -z "$expires" ]; thenecho "无法获取SSL证书信息,请检查域名 ($domain) 或网络连接。"continuefi# 将到期日期转换为Unix时间戳expires_timestamp=$(date -d "$expires" +%s)# 计算剩余天数remaining_days=$(( (expires_timestamp - current_timestamp) / 86400 ))# 将剩余天数信息推送到钉钉告警if [ $remaining_days -le 10 ]; thendingding_pushelif [ $remaining_days -le 15 ]; thendingding_pushelseecho "$domain 的SSL证书有效,距离过期还有$remaining_days 天。"fi
done < "$domains_file"

2. 创建域名列表文件

cat   /hao/domains.txt 

test1.google.com
test2.google.com
test3.google.com
test4.google.com
test5.google.com

3. 配置计划任务

[root@localhost ~]# crontab   -l
30  09   *   *   *    /bin/bash  /hao/batch_check_ssl_expire.sh   >  /dev/null  2>&1

http://www.lryc.cn/news/398212.html

相关文章:

  • Winform打印编程基础
  • Python编程实例-Python的隐藏特性
  • 防火墙安全策略利用
  • SystemUIService启动-Android13
  • linux权限深度解析——探索原理
  • Qt学生管理系统(付源码)
  • 重磅!新公司法正式实施,这些变化你必须知道! ️
  • [Flask笔记]一个完整的Flask程序
  • 企业专利布局怎么弄
  • ArduPilot开源飞控之AP_Mount_Topotek
  • React组件间通信的几种方式
  • 2024最新国际版抖音TikTok安装教程,免root免拔卡安卓+iOS,附全套安装工具!
  • kafka与zookeeper的SSL认证教程
  • 为何数字化转型项目会夭折?深入分析失败的关键因素
  • 数据结构(其二)--线性表
  • 软链接node_modules
  • Apache中使用SSI设置
  • Java Stream API详解:高效处理集合数据的利器
  • Python使用策略模式和openpyxl库创建Excel文件并追加内容
  • libcoap3对接华为云平台
  • 【鸿蒙学习笔记】关系型数据库概述
  • Find My网球拍|苹果Find My技术与网球拍结合,智能防丢,全球定位
  • windows环境下部署多个端口Tomcat服务和开机自启动设置保姆级教程
  • 科普文:一文搞懂jvm实战(四)深入理解逃逸分析Escape Analysis
  • 中文大模型发展到哪一个阶段了?
  • 【PostgreSQL】Spring boot + Mybatis-plus + PostgreSQL 处理json类型情况
  • 华为910b推理Qwen1.5-72b
  • legoloam算法环境配置和调试笔记
  • 如何用CSS3画一个三角形?
  • 不同型号的GD32 MCU如何区分?