Hi.
Hier ist ein kleines Script, das überprüft, ob der LDAP-Server erreichbar ist oder nicht. Voraussetzung: ldap-utils müssen installiert sein. Wir haben es z.B. als Cronjob eingerichtet und bekommen nun ein eMail, wenn der LDAP-Dienst aus irgendwelchen Gründen nicht mehr erreichbar ist. Gerade im Moment sehr sinnvoll…
#!/bin/bash
#testet with v6.x
HOST="ldaps://mein-linuxmuster.ldap-server.de:636"
BASE_DN=ou="accounts, dc=linuxmuster, dc=local"
MAIL="my.email-address@provider.com"
export LDAPTLS_REQCERT=never
RESULT=`ldapsearch -x -H $HOST -b"$BASE_DN" | grep "# numEntries:" | awk '{print $3}'`
if [[ "$RESULT" -gt 0 ]]
then
echo -e "`date`: LDAP Server \e[42mONLINE\033[0m"
else
echo -e "`date`: LDAP Server \e[41mOFFLINE\033[0m"
echo -e "`date`: Sending mail to $MAIL"
echo "Der LDAP-Server ist seit `date` offline!" | mail -s "LDAP-SERVER OFFLINE" $MAIL
fi
(Code-Schnipsel stammt nicht von mir – will mich ja nicht mit fremden Lorbeeren schmücken)
Hallo.
Gerade habe ich diesen Beitrag wiedergefunden und festgestellt, dass ich das ganze irgendwann auch mal an den v7-Server angepasst hatte.
Hier also die aktuellere Version – vielleicht kann’s weiterhin jemand gebrauchen?
#!/bin/bash
####################################################################
# Version 1.1 -- von M. Hagedorn, 05.07.2022
# Script zum schnellen Checken, ob der LDAP/AD-Server online ist
# oder nicht. Im Fehlerfall wird eine eMail geschickt.
# Getestet mit linuxmuster-Server v7.2
####################################################################
####################################################################
#Variablen:
MAIL="email@an-mich.de"
base="ou=default-school,ou=SCHOOLS,dc=linuxmuster,dc=lan"
server="ldaps://server.linuxmuster.lan:636"
binduser="global-binduser@linuxmuster.lan"
bindpw="super-geheimes-passwort"
# cat /etc/linuxmuster/.secret/global-binduser
####################################################################
#set -x
#export LDAPTLS_REQCERT=never
RESULT=`ldapsearch -b "$base" -H $server -x -D $binduser -w $bindpw | grep "# numEntries:" | awk '{print $3}'`
if [[ "$RESULT" -gt 0 ]]
then
echo -e "`date`: LDAP Server \e[42mONLINE\033[0m"
else
echo -e "`date`: LDAP Server \e[41mOFFLINE\033[0m"
echo -e "`date`: Sending mail to $MAIL"
echo "Der LDAP-Server ist seit `date` offline!" | mail -s "LDAP-SERVER OFFLINE" $MAIL
fi