批量查询nginx证书是否过期
批量查询nginx证书是否过期
#!/bin/bash
# 定义一个函数,用于检查证书到期日期
check_cert_expiry() {
cert_path="$1"
days_threshold="$2"
# 获取证书的到期日期
expiry_date=$(openssl x509 -enddate -noout -in "$cert_path" | awk -F '=' '{print $2}')
# 将到期日期转换为时间戳
expiry_timestamp=$(date -d "$expiry_date" +%s)
# 获取当前时间戳
current_timestamp=$(date +%s)
# 计算剩余天数
days_remaining=$(( ($expiry_timestamp - $current_timestamp) / (60 * 60 * 24) ))
# 判断是否小于阈值
if [ "$days_remaining" -lt "$days_threshold" ]; then
echo "证书 $cert_path 将于 $days_remaining 天后过期。"
else
echo "证书 $cert_path 还有 $days_remaining 天到期。"
fi
}
# 迭代 Nginx 配置目录中的所有证书文件
nginx_cert_dir="/etc/nginx/ssl"
days_threshold=30 # 可以自定义阈值
for cert_file in "$nginx_cert_dir"/*.crt; do
check_cert_expiry "$cert_file" "$days_threshold"
done
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
知识武装灵魂!
喜欢就支持一下吧