Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- check_domain_time.sh「SSL 证书过期检测脚本」
- #!/bin/bash
- ################ Version Info ##################
- # Create Date: 2018-09-29
- # Author: Zhang
- # Mail: zhang@xxxx.com
- # Version: 1.0
- # Attention: 通过域名获取证书的过期时间
- ################################################
- # V1.0.0 2018-09-29 脚本编写 张
- # 1.通过域名获取证书的过期时间
- ################################################
- # 加载环境变量
- . /etc/profile
- . ~/.bash_profile
- . /etc/bashrc
- # 脚本所在目录即脚本名称
- script_dir=$( cd "$( dirname "$0" )" && pwd )
- script_name=$(basename ${0})
- readFile="${script_dir}/domain_ssl.info"
- grep -v '^#' ${readFile} | while read line;do # 读取存储了需要监测的域名的文件
- # echo "${line}"
- get_domain=$(echo "${line}" | awk -F ':' '{print $1}')
- get_port=$(echo "${line}" | awk -F ':' '{print $2}')
- # echo ${get_domain}
- # echo "${get_port}"
- # echo "======"
- # 使用openssl获取域名的证书情况,然后获取其中的到期时间
- 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 }' )
- END_TIME1=$(date +%s -d "$END_TIME") # 将日期转化为时间戳
- NOW_TIME=$(date +%s -d "$(date | awk -F ' +' '{print $2,$3,$6}')") # 将当前的日期也转化为时间戳
- RST=$(($(($END_TIME1-$NOW_TIME))/(60*60*24))) # 到期时间减去目前时间再转化为天数
- echo "${RST}"
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement