HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib64/nagios/plugins/check_a2_whm_ssl
#!/bin/bash

# Get the hostname and construct the domain
HOSTNAME=$(hostname)
DOMAIN="www${HOSTNAME}"
PORT=2087

# Get certificate expiration date in epoch format
EXPIRY_DATE=$(openssl s_client -connect ${DOMAIN}:${PORT} -servername ${DOMAIN} </dev/null 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
EXPIRY_EPOCH=$(date -d "${EXPIRY_DATE}" +%s)
CURRENT_EPOCH=$(date +%s)

# Calculate days remaining
DAYS_REMAINING=$(( (EXPIRY_EPOCH - CURRENT_EPOCH) / 86400 ))

# Check expiration thresholds
if [ "$DAYS_REMAINING" -le 14 ]; then
    echo "CRITICAL - SSL certificate for ${DOMAIN} expires in ${DAYS_REMAINING} days"
    exit 2
elif [ "$DAYS_REMAINING" -le 30 ]; then
    echo "WARNING - SSL certificate for ${DOMAIN} expires in ${DAYS_REMAINING} days"
    exit 1
else
    echo "OK - SSL certificate for ${DOMAIN} expires in ${DAYS_REMAINING} days"
    exit 0
fi