ssl证书到期监控脚本,通过企业微信提前一个月通知提醒

该脚本使用openssl检查SSL证书到期日期,并结合curl在证书即将到期时通过企业微信发送提醒。用户需配置域名、企业微信应用参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        以下是一个简单的SSL证书到期监控脚本,它可以检查指定域名的SSL证书是否将在一个月内到期,并通过企业微信应用程序发送通知。该脚本使用openssl命令检查证书到期日期,并使用curl命令发送企业微信应用程序消息。

        

在这个脚本中,您需要将以下变量替换为您自己的值:

  • domain:要监控的域名。
  • corp_id:企业微信应用程序的CorpID。
  • agent_id:企业微信应用程序的AgentID。
  • secret:企业微信应用程序的Secret。
  • user_id:接收通知消息的用户UserID。

该脚本使用openssl命令获取指定域名的SSL证书到期日期,并计算证书到期时间戳和一个月后的时间戳。如果证书将在一个月内到期,则使用curl命令发送企业微信应用程序消息。

#!/bin/bash

# 若是要一起监控多个域名,则可以使用for等循环便利域名

# 指定要监控的域名
domain="example.com" # 要监控的域名

# 指定企业微信应用程序的相关参数
corp_id="YOUR_CORP_ID" # 企业微信应用程序的CorpID
agent_id="YOUR_AGENT_ID" # 企业微信应用程序的AgentID
secret="YOUR_SECRET" # 企业微信应用程序的Secret
user_id="YOUR_USER_ID" # 接收通知消息的用户UserID

# 计算证书到期日期
expiry_date=$(echo | openssl s_client -servername $domain -connect $domain:443 2>/dev/null | openssl x509 -noout -dates | awk -F= '{print $2}' | sed 's/GMT//')

# 计算证书到期时间戳
expiry_timestamp=$(date -d "$expiry_date" +%s)

# 计算一个月后的时间戳
one_month_later=$(date -d "+1 month" +%s)

# 如果证书将在一个月内到期,则发送企业微信应用程序消息
if [ $expiry_timestamp -lt $one_month_later ]; then
    message="SSL证书将在一个月内到期:$expiry_date"
    curl "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$(curl https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corp_id\&corpsecret=$secret | jq -r '.access_token')" \
        -H "Content-Type: application/json" \
        -d "{\"touser\": \"$user_id\", \"agentid\": \"$agent_id\", \"msgtype\": \"text\", \"text\": {\"content\": \"$message\"}}"
fi

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值