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/nullif [ $? -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." fielse 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.