发布于2026-08-22 阅读(0)
扫一扫,手机访问
CentOS 域名监控实操指南

一、监控目标与总体思路
二、DNS 解析监控脚本与配置
#!/usr/bin/env bash # 确保脚本在任何错误时都能立即退出,同时禁止使用未定义的变量 set -Eeuo pipefail # 获取第一个参数作为域名,如果未提供则输出错误信息并退出 DOMAIN="${1:?缺少域名}" # 获取第二个参数作为DNS,如果未提供则输出错误信息并退出 DNS="${2:?缺少DNS}" # 获取第三个参数作为预期的IP地址,默认为空 EXPECTED_IPS="${3:-}" # 获取第四个参数作为超时时间,默认为5秒 TIMEOUT="${4:-5}"
指定 +short +time +tries,超时控制更稳mapfile -t ANS < <(dig +short +time=“${TIMEOUT}” +tries=2 @“${DNS}” “${DOMAIN}” A 2>/dev/null)if (( ${#ANS[@]} == 0 )); thenecho 0; exit 0fi
若未设置期望 IP,则只要能解析即 OKif [[ -z “${EXPECTED_IPS}” ]]; thenecho 1; exit 0fi
期望 IP 以逗号分隔IFS=‘,’ read -ra WANT <<< “${EXPECTED_IPS}”for ip in “${ANS[@]}”; dofor w in “${WANT[@]}”; do[[ “$ip” == “$w” ]] && { echo 1; exit 0; }donedoneecho 0
三、HTTPS 证书到期监控脚本与配置
#!/usr/bin/env bashset -Eeuo pipefailHOST=“${1:?missing host}”PORT=“${2:-443}”
END_DATE=$(openssl s_client -servername “$HOST” -connect “${HOST}:${PORT}” -showcerts /dev/null
| sed -n -e ‘/BEGIN CERTIFICATE/,/END CERT/p’
| openssl x509 -text 2>/dev/null
| sed -n -e ‘s/ *Not After *: *//p’)
if [[ -z “$END_DATE” ]]; thenecho 9999; exit 0 # 取不到证书时间视为异常大值,便于排障fi
END_TS=$(date -d “$END_DATE” +%s)NOW_TS=$(date +%s)DAYS_LEFT=$(( (END_TS - NOW_TS) / 86400 ))
echo “$DAYS_LEFT”
四、HTTP 可用性监控建议
五、排障与最佳实践
上一篇:centosmysql锁机制
下一篇:centos域名如何降级
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9