????????以下是一個(gè)簡(jiǎn)單的SSL證書到期監(jiān)控腳本,它可以檢查指定域名的SSL證書是否將在一個(gè)月內(nèi)到期,并通過(guò)企業(yè)微信應(yīng)用程序發(fā)送通知。該腳本使用openssl
命令檢查證書到期日期,并使用curl
命令發(fā)送企業(yè)微信應(yīng)用程序消息。
????????
在這個(gè)腳本中,您需要將以下變量替換為您自己的值:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-569073.html
-
domain
:要監(jiān)控的域名。 -
corp_id
:企業(yè)微信應(yīng)用程序的CorpID。 -
agent_id
:企業(yè)微信應(yīng)用程序的AgentID。 -
secret
:企業(yè)微信應(yīng)用程序的Secret。 -
user_id
:接收通知消息的用戶UserID。
該腳本使用openssl
命令獲取指定域名的SSL證書到期日期,并計(jì)算證書到期時(shí)間戳和一個(gè)月后的時(shí)間戳。如果證書將在一個(gè)月內(nèi)到期,則使用curl
命令發(fā)送企業(yè)微信應(yīng)用程序消息。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-569073.html
#!/bin/bash
# 若是要一起監(jiān)控多個(gè)域名,則可以使用for等循環(huán)便利域名
# 指定要監(jiān)控的域名
domain="example.com" # 要監(jiān)控的域名
# 指定企業(yè)微信應(yīng)用程序的相關(guān)參數(shù)
corp_id="YOUR_CORP_ID" # 企業(yè)微信應(yīng)用程序的CorpID
agent_id="YOUR_AGENT_ID" # 企業(yè)微信應(yīng)用程序的AgentID
secret="YOUR_SECRET" # 企業(yè)微信應(yīng)用程序的Secret
user_id="YOUR_USER_ID" # 接收通知消息的用戶UserID
# 計(jì)算證書到期日期
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//')
# 計(jì)算證書到期時(shí)間戳
expiry_timestamp=$(date -d "$expiry_date" +%s)
# 計(jì)算一個(gè)月后的時(shí)間戳
one_month_later=$(date -d "+1 month" +%s)
# 如果證書將在一個(gè)月內(nèi)到期,則發(fā)送企業(yè)微信應(yīng)用程序消息
if [ $expiry_timestamp -lt $one_month_later ]; then
message="SSL證書將在一個(gè)月內(nèi)到期:$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
到了這里,關(guān)于ssl證書到期監(jiān)控腳本,通過(guò)企業(yè)微信提前一個(gè)月通知提醒的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!