bash script für den TELNET Verbindungstest zu einem SAP S/4HANA System

Das Bash-Skript eignet sich gut für verschiedene Anwendungsfälle, insbesondere wenn Sie regelmäßig die Verfügbarkeit einer Netzwerkverbindung zu einem SAP System überprüfen müssen. Das kann hilfreich sein, wenn Sie zum unterschiedliche Verbindungen mittels SD-WAN verwenden und in den Logs ihres SAP Systems feststellen, dass es Verbindungsunterbrüche gibt. Hier sind einige Anwendungsfälle, für die das Bash-Skript geeignet ist:

  1. Netzwerküberwachung: Das Skript kann verwendet werden, um die Verfügbarkeit einer bestimmten IP-Adresse und Ports in einem Netzwerk zu überwachen.
  2. Periodisches Testen von Verbindungen: Durch die Verwendung eines Cronjobs kann das Skript regelmäßig ausgeführt werden, um sicherzustellen, dass die Verbindung zu einem bestimmten Zeitpunkt oder in regelmäßigen Intervallen überprüft wird.
  3. Protokollierung von Verbindungsereignissen: Das Skript protokolliert alle Verbindungsereignisse in eine Textdatei, einschließlich Zeitstempel und ob die Verbindung erfolgreich oder fehlgeschlagen ist. Diese Protokolle können für die Fehleranalyse und Diagnose nützlich sein.
  4. Benachrichtigung bei Verbindungsfehlern: Bei einem Verbindungsfehler sendet das Skript eine Benachrichtigung per E-Mail an den Administrator, so dass dieser über Probleme informiert wird und entsprechend reagieren kann.
  5. Löschung alter Protokolleinträge: Das Skript kann auch ältere Protokolleinträge bereinigen, um die Protokolldatei sauber zu halten und unnötigen Speicherplatz zu sparen.

Insgesamt ist das Bash-Skript eine praktische Lösung für die automatisierte Überwachung von Netzwerkverbindungen und die Protokollierung von Verbindungsereignissen, was es ideal für Systemadministratoren und Netzwerktechniker macht, um die Verfügbarkeit und Integrität ihres Netzwerks zu gewährleisten.

HowTo test telnet connection to SAP System with IP and Port

First step is to create a file and store this file in /usr/local/bin

#!/bin/bash # last change: 2024-04-14 echo „Testing Telnet connection to MessageServer to “ echo „2024 (c) created by baltx.com“ # function to test connection and write into to different files # A) all infos are stored in connectiontest.txt. # B) only the negative test results are additinally stored in connectiontest-failed.txt # You need to know the and the to complete the port information. check_connection() { timestamp=$(date +“%Y-%m-%d %H:%M:%S“) if telnet „$1“ „$2“ < /dev/null 2>&1 | grep -q „Escape character is“; then echo „$timestamp connection successful“ >> /tmp/connectiontest.txt else echo „$timestamp connection failed“ >> /tmp/connectiontest-failed.txt echo „$timestamp connection failed“ >> /tmp/connectiontest.txt # Send E-Mail notification mail -s „connection failed“ <<< "message" fi } # Function to delete old timestamps after 10 days delete_old_timestamps() { find /tmp/connectiontest.txt -type f -mtime +10 -exec sed -i '/^[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}/d' {} \; } delete_old_timestamps # endless loop to call connection # while true; do # Call connection This is the message server of check_connection "" 32 # Alternativ: Call connection to via SNC # check_connection "" 48 # sleep 60 # done # kill all telnet sessions from the user pkill -u $USER telnet # end the process exit 0

Change the linux file system permissions (more information https://www.redhat.com/sysadmin/linux-file-permissions-explained)

sudo chmod 755 

Run the script via cron job – use a proper user because of killing all telnet connections of this user.

crontab -e

Run the script every minute

* * * * *  /usr/local/bin/.sh

Check the results in folder /tmp

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen