通过shell监控域名ssl证书过期时间

本文介绍了一个使用bash脚本检测多个域名HTTPS证书有效期并在证书即将过期前提醒的技术,通过openssl命令获取并计算剩余天数。

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

#!/bin/bash
source /etc/profile

# 检测https证书有效期
# 设置过期前多少天提醒
remind_time=30
# 设置监测域名,多个域名用英文逗号隔开[,]
domains="www.test.com,www.baidu.com"

domains_list=`echo $domains | awk -F',' '{print $0}' | sed "s/,/ /g"`
for domain in $domains_list
  do
    end_time=$(echo | timeout 1 openssl s_client -servername $domain -connect $domain:443 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | awk -F '=' '{print $2}')
    ([ $? -ne 0 ] || [[ $end_time == '' ]]) &&  exit 10
    end_times=`date -d "$end_time" +%s `
    current_times=`date -d "$(date -u '+%b %d %T %Y GMT') " +%s `
    let left_time=$end_times-$current_times
    days=`expr $left_time / 86400`

    if [ $days -lt $remind_time ]; then
      echo "域名:" $domain "SSL证书剩余:" $days "过期"
    fi
  done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值