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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/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