Willkommen

Ping Mail

Um den Status des Rechners per E-Mail zu senden, können Sie das folgende Befehlszeilenskript verwenden:

#!/bin/bash
# IP-Adresse des zu überprüfenden Rechners
IP_ADDRESS=<IP-Adresse>
# E-Mail-Parameter
SMTP_SERVER=<SMTP-Server-Adresse>
SMTP_PORT=<SMTP-Server-Port>
SMTP_USERNAME=<SMTP-Benutzername>
SMTP_PASSWORD=<SMTP-Passwort>
FROM=<Absender-Adresse>
TO=<Empfänger-Adresse>
SUBJECT="Status des Rechners $IP_ADDRESS"
# Prüfung, ob der Rechner erreichbar ist
ping -c 1 $IP_ADDRESS > /dev/null
if [ $? -eq 0 ]
then
    # Überprüfung, ob der Rechner läuft
    if ssh root@$IP_ADDRESS "pgrep systemd" > /dev/null
    then
        MESSAGE="Der Rechner mit IP-Adresse $IP_ADDRESS läuft."
    else
        MESSAGE="Der Rechner mit IP-Adresse $IP_ADDRESS läuft nicht."
    fi
else
    MESSAGE="Der Rechner mit IP-Adresse $IP_ADDRESS ist nicht erreichbar."
fi
# Senden der E-Mail
echo -e "Subject: $SUBJECT\n\n$MESSAGE" | \
openssl s_client -connect $SMTP_SERVER:$SMTP_PORT -starttls smtp \
-auth plain -crlf -quiet \
-CAfile /etc/ssl/certs/ca-certificates.crt \
-cert /etc/ssl/certs/ssl-cert-snakeoil.pem \
-key /etc/ssl/private/ssl-cert-snakeoil.key \
-ign_eof \
-mail from:$FROM \
-rcpt to:$TO \
ata-binary @-

Das Skript verwendet den Befehl "openssl s_client", um eine E-Mail über den SMTP-Server zu senden. Sie müssen die SMTP-Server-Adresse, den SMTP-Server-Port, den SMTP-Benutzernamen und das SMTP-Passwort mit den tatsächlichen Werten ersetzen. Außerdem müssen Sie die Absender-Adresse und Empfänger-Adresse angeben. Der E-Mail-Betreff wird automatisch auf den Status des Rechners und die IP-Adresse gesetzt. Beachten Sie, dass der SMTP-Server TLS-Unterstützung benötigt. Wenn der SMTP-Server ein selbstsigniertes Zertifikat verwendet, müssen Sie das Root-Zertifikat des SMTP-Servers als CAfile angeben und das SSL-Zertifikat des SMTP-Servers als -cert-Parameter und das SSL-Schlüssel des SMTP-Servers als -key-Parameter.