Para la correcta ejecución debe tener instalado OPENSSL . El SCRIPT solicita 4 argumentos para su ejecución :
1 = Nombre servidor 2=Puerto 3=Días WARNING 4=Días CRITICAL
#!/bin/bash
servidor=$1
puerto=$2
warning=$3
critical=$4
hasta=`echo | openssl s_client -connect $servidor.dominio.cl:$puerto 2>/dev/null | openssl x509 -noout -dates | cut -d "=" -f2 | awk 'NR==2{print $0}'`
vence=`date -d "$hasta" +%Y%m%d`
START=`date -d $(date +"%Y%m%d") +%s`
END=`date -d $vence +%s`
((dife=$END-$START))
((dias=$dife/(60*60*24)))
if [ "$dias" -le "$warning" ] && [ "$dias" -ge "$critical" ]; then
echo "WARNING - Quedan $dias para VENCER"
exit 1
elif [ "$dias" -le "$critical" ]; then
echo "CRITICAL - Quedan $dias para VENCER"
exit 2
else
echo "OK - Quedan $dias para VENCER"
exit 0
fi
echo "UNKNOWN - Error Interno"
exir
Para ejecutarlo se debe dar permisos de ejecución :
chmod u+x check_cert.sh
Para ejecutarlo :
./check_cert.sh volcan01 443 20 10
Se obtiene el siguiente resultado :
OK – Quedan 129 días para VENCER