读取jiecaoyu.txt文件的中的域名,检测后输出为result.csv
jiecaoyu.txt文件示例
jiecaoyu.cn
blog.jiecaoyu.cn
pan.jiecaoyu.cn
result.csv文件示例
域名 | 剩余到期时间 |
---|---|
jiecaoyu.cn | 56 |
blog.jiecaoyu.cn | 113 |
pan.jiecaoyu.cn | 245 |
#!/bin/bash
# 设置超时时间
timeout=5
# 创建csv文件,写入表头
echo "域名,剩余到期时间" > result.csv
# 读取txt文件中的域名
while read domain; do
# 获取证书到期时间
expiration_date=$(echo | timeout $timeout openssl s_client -servername $domain -connect $domain:443 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
# 将到期时间转换为时间戳
expiration_timestamp=$(date -d "$expiration_date" +%s)
# 获取当前时间戳
current_timestamp=$(date +%s)
# 计算证书剩余天数
days_left=$(( ($expiration_timestamp - $current_timestamp) / 86400 ))
# 如果无法访问域名或超过超时时间,则跳过该域名并输出提示信息
if [ -z "$expiration_date" ]; then
echo "无法访问域名 $domain,跳过检查。"
# 将结果写入csv文件
echo "$domain,timeout" >> result.csv
continue
fi
# 将结果写入csv文件
echo "$domain,$days_left" >> result.csv
# 注意文件编码,Windows创建的txt在Linux执行会全部跳过检查
done < jiecaoyu.txt
# 输出完成信息
echo "检查完成,结果已保存到result.csv文件。"
# 结束脚本
exit 0
最后一次更新于2023-08-15
0 条评论