ruạṛ
#!/bin/bash # check_sssd on EL6+ # Requirements: # Author: Tsvetan Gerov <tsvetan@worldhost.group> # Version 0.2 # Initialize flags and error message CRITICAL=false WARNING=false ERROR_MESSAGE="" if [ -f "/etc/redhat-release" ]; then OSRELEASE=$(cat /etc/redhat-release | tr -dc '0-9.'|cut -d \. -f1) else OSRELEASE="0" fi check_sssd() { if [ "$OSRELEASE" -eq 6 ]; then if [ ! -f "/etc/init.d/sssd" ]; then CRITICAL=true ERROR_MESSAGE+="sssd service is missing, " else if ! /etc/init.d/sssd status >/dev/null 2>&1; then CRITICAL=true ERROR_MESSAGE+="sssd is down, " fi fi else if [ ! -f "/usr/lib/systemd/system/sssd.service" ]; then CRITICAL=true ERROR_MESSAGE+="sssd service is missing, " else if ! systemctl is-active sssd.service >/dev/null 2>&1; then CRITICAL=true ERROR_MESSAGE+="sssd is down, " fi fi fi } # Perform checks check_sssd # Return final state if [ "$CRITICAL" = true ]; then echo "[CRITICAL] ${ERROR_MESSAGE%, }" exit 2 elif [ "$WARNING" = true ]; then echo "[WARNING] ${ERROR_MESSAGE%, }" exit 1 else echo "[OK] All LDAP services are running correctly." exit 0 fi
cải xoăn