























因为管理的网站有点多,需要批量查看所有站点的SSL证书过期时间。
在任意一个创建一个检查的脚本,如:check.sh
echo "快速检查全部的SSL证书过期时间"
urlArray=( \
"www.jd.com:443" \
"www.baidu.com:443" \
"www.bing.com:443" \
);
# 定义颜色变量
RED='\e[1;31m'
GREEN='\e[1;32m'
YELLOW='\e[1;33m'
BLUE='\e[1;34m'
NC='\e[0m' # No Color (重置颜色)
for url in ${urlArray[@]};
do
printf "%-30s " $url
expiry_date=$(echo | openssl s_client -connect $url 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2 | xargs -I {} date -d {} "+%Y-%m-%d")
if [ "${#expiry_date}" -eq 10 ]; then
expiry_timestamp=$(date -d "$expiry_date" +%s)
current_timestamp=$(date +%s)
diff_seconds=$((expiry_timestamp - current_timestamp))
diff_days=$((diff_seconds / 86400))
printf "证书过期日期: $expiry_date 08:00 (UTC+8)"
if [[ "$diff_days" -lt 30 ]]; then
printf " 剩余: ${RED}%4s天${NC}\n" $diff_days
else
printf " 剩余: %4s天\n" $diff_days
fi
else
echo "获取证书过期日期失败"
fi
done;
设置运行权限
chmod +x check.sh
说明:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。