# 填写需要监控的域名和端口号
domain="${1:-www.baidu.com}"
port="${2:-443}"
# 获取证书信息
cert_info=$(echo | openssl s_client -servername $domain -connect $domain:$port 2>/dev/null | openssl x509 -noout -dates)
# 提取证书有效期的起止日期
start_date=$(echo "$cert_info" | grep -i "notBefore" | awk -F '=' '{print $2}')
end_date=$(echo "$cert_info" | grep -i "notAfter" | awk -F '=' '{print $2}')
# 将日期转换为时间戳
start_timestamp=$(date -d "$start_date" +%s)
end_timestamp=$(date -d "$end_date" +%s)
current_timestamp=$(date +%s)
# 计算剩余天数
remaining_days=$(( ($end_timestamp - $current_timestamp) / 86400 ))
# 打印证书有效期信息
echo "域名: $domain"
echo "起始日期: $start_date"
echo "结束日期: $end_date"
echo "剩余天数: $remaining_days"
说明:脚本代码片段定义了一个变量domain,其含义是从脚本的第一个命令行参数中获取一个域名。如果没有提供命令行参数,则默认值为"www.baidu.com"。
网友评论