templates-zabbix-itguys/deploy_package/extras/externalscripts/check_ssl_advanced.sh

29 lines
655 B
Bash

#!/bin/bash
# Zabbix External Script: Advanced SSL Check
# Usage: check_ssl_advanced.sh <hostname> <port>
SERVER=$1
PORT=${2:-443}
if [ -z "$SERVER" ]; then
echo "Usage: $0 <hostname> [port]"
exit 1
fi
# Calcular dias para expirar
END_DATE=$(echo | openssl s_client -servername "$SERVER" -connect "$SERVER:$PORT" 2>/dev/null | openssl x509 -noout -enddate)
if [ -z "$END_DATE" ]; then
echo "-1" # Error connecting
exit
fi
END_DATE_STR=${END_DATE#*=}
END_EPOCH=$(date +%s -d "$END_DATE_STR")
NOW_EPOCH=$(date +%s)
SECONDS_LEFT=$((END_EPOCH - NOW_EPOCH))
DAYS_LEFT=$((SECONDS_LEFT / 86400))
# Retorna número de dias
echo "$DAYS_LEFT"