1、准备一批域名保存为txt文件
[root@172-16-104-180 scripts-2022]# cat names_ssl.txt
www.jd.com
www.baidu.com
www.mi.com
www.aliyun.com
2.在同一个目录下编写shell脚本
[root@172-16-104-180 scripts-2022]# cat ssl_days.sh
#!/bin/bash
#当前日期时间
now_dates=`date`
#当天的时间戳
now_times=`date +%s -d "${now_dates}"`
for names_ssl in `cat names_ssl.txt`
do
output=`echo | openssl s_client -servername ${names_ssl} -connect ${names_ssl}:443 2>/dev/null | openssl x509 -noout -dates`
after_times=`echo ${output} | awk -F '=' '{print $3}' `
#域名证书最后截止日期时间戳
date_times=`date +%s -d "${after_times}"`
#域名的到期时间
normal_times=`date -d @${date_times}`
normal_times_02=`date -d @${date_times} +"%Y-%m-%d %H:%M:%S"`
#得到域名证书的剩余天数
get_shijianchuo=`echo ${date_times}-${now_times} | bc`
last_days=`echo $((${get_shijianchuo}/86400))`
#输出
echo "域名 ${names_ssl} 到期时间: $normal_times_02 剩余天数:${last_days}"
done
3、运行脚本获得结果
[root@172-16-104-180 scripts-2022]# bash ssl_days.sh
域名 www.jd.com 到期时间: 2022-11-14 15:13:25 剩余天数:111
域名 www.baidu.com 到期时间: 2023-08-06 13:16:01 剩余天数:376
域名 www.mi.com 到期时间: 2022-10-22 07:59:59 剩余天数:87
域名 www.aliyun.com 到期时间: 2022-12-20 14:06:09 剩余天数:147