以下是一个简单的SSL证书到期监控脚本,它可以检查指定域名的SSL证书是否将在一个月内到期,并通过企业微信应用程序发送通知。该脚本使用openssl
命令检查证书到期日期,并使用curl
命令发送企业微信应用程序消息。
在这个脚本中,您需要将以下变量替换为您自己的值:文章来源:https://www.toymoban.com/news/detail-569073.html
-
domain
:要监控的域名。 -
corp_id
:企业微信应用程序的CorpID。 -
agent_id
:企业微信应用程序的AgentID。 -
secret
:企业微信应用程序的Secret。 -
user_id
:接收通知消息的用户UserID。
该脚本使用openssl
命令获取指定域名的SSL证书到期日期,并计算证书到期时间戳和一个月后的时间戳。如果证书将在一个月内到期,则使用curl
命令发送企业微信应用程序消息。文章来源地址https://www.toymoban.com/news/detail-569073.html
#!/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
到了这里,关于ssl证书到期监控脚本,通过企业微信提前一个月通知提醒的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!