• shell脚本:通过域名获取证书的过期时间


    需要两个文件,一个用于存储域名信息,另一个是检测脚本

      注意:这两个文件是在一个目录下

    domain_ssl.info 【存储域名信息】

    1 [root@mini05 20180930]# cat domain_ssl.info 
    2 # 检测百度域名
    3 www.baidu.com:443

    check_domain_time.sh 【检测脚本】

    复制代码
     1 [root@mini05 20180930]# cat check_domain_time.sh 
     2 #!/bin/bash
     3 ################ Version Info ##################
     4 # Create Date: 2018-09-29
     5 # Author:      
     6 # Mail:        xxxx.com
     7 # Version:     1.0
     8 # Attention:   通过域名获取证书的过期时间
     9 ################################################
    10 # V1.0.0 2018-09-29 脚本编写    
    11 #      1.通过域名获取证书的过期时间
    12 ################################################
    13 
    14 # 加载环境变量
    15 . /etc/profile
    16 . ~/.bash_profile
    17 . /etc/bashrc
    18 
    19 # 脚本所在目录即脚本名称
    20 script_dir=$( cd "$( dirname "$0"  )" && pwd )
    21 script_name=$(basename ${0})
    22 
    23 readFile="${script_dir}/domain_ssl.info"
    24 grep -v '^#' ${readFile} | while read line;do #读取存储了需要监测的域名的文件
    25     # echo "${line}"
    26     get_domain=$(echo "${line}" | awk -F ':' '{print $1}')
    27     get_port=$(echo "${line}" | awk -F ':' '{print $2}')
    28 
    29     # echo ${get_domain}
    30     # echo "${get_port}"
    31     # echo "======"
    32 
    33     END_TIME=$(echo | openssl s_client -servername ${get_domain}  -connect ${get_domain}:${get_port} 2>/dev/null | openssl x509 -noout -dates |grep 'After'| awk -F '=' '{print $2}'| awk -F ' +' '{print $1,$2,$4 }' )
    34     #使用openssl获取域名的证书情况,然后获取其中的到期时间
    35     END_TIME1=$(date +%s -d "$END_TIME") #将日期转化为时间戳
    36     NOW_TIME=$(date +%s -d "$(date | awk -F ' +'  '{print $2,$3,$6}')") #将目前的日期也转化为时间戳
    37 
    38     RST=$(($(($END_TIME1-$NOW_TIME))/(60*60*24))) # 到期时间减去目前时间再转化为天数
    39 
    40     echo "${RST}"
    41 done
    复制代码

    执行结果

    1 [root@mini05 20180930]# ./check_domain_time.sh 
    2 238

    参考博文:linux学习第七十一篇:shell脚本:通过域名获取证书的过期时间并邮件告警

  • 相关阅读:
    【转】C#连接mysql
    【转】深度优先算法
    【转】mysql安装
    win7NVIDIA显卡驱动升级时卡住
    【转】win7系统删除桌面IE图标
    双系统删掉一个后,所在分区无法格式化
    SQL各种JOIN
    C# 反射
    【转】C#强制转换和显式转换
    SQL Server 去除表中字段空格
  • 原文地址:https://www.cnblogs.com/shetao/p/14338416.html
Copyright © 2020-2023  润新知