{"id":985,"date":"2024-04-13T20:36:43","date_gmt":"2024-04-13T17:36:43","guid":{"rendered":"https:\/\/techltx.com\/de\/?p=985"},"modified":"2024-05-21T22:12:11","modified_gmt":"2024-05-21T19:12:11","slug":"bash-script-for-telnet-connection-test","status":"publish","type":"post","link":"https:\/\/techltx.com\/de\/allgemein\/bash-script-for-telnet-connection-test\/2024\/04\/","title":{"rendered":"bash script f\u00fcr den TELNET Verbindungstest zu einem SAP S\/4HANA System"},"content":{"rendered":"\n<p>Das Bash-Skript eignet sich gut f\u00fcr verschiedene Anwendungsf\u00e4lle, insbesondere wenn Sie regelm\u00e4\u00dfig die Verf\u00fcgbarkeit einer Netzwerkverbindung zu einem SAP System \u00fcberpr\u00fcfen m\u00fcssen. Das kann hilfreich sein, wenn Sie zum unterschiedliche Verbindungen mittels SD-WAN verwenden und in den Logs ihres SAP Systems feststellen, dass es Verbindungsunterbr\u00fcche gibt. Hier sind einige Anwendungsf\u00e4lle, f\u00fcr die das Bash-Skript geeignet ist:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Netzwerk\u00fcberwachung<\/strong>: Das Skript kann verwendet werden, um die Verf\u00fcgbarkeit einer bestimmten IP-Adresse und Ports in einem Netzwerk zu \u00fcberwachen.<\/li>\n\n\n\n<li><strong>Periodisches Testen von Verbindungen<\/strong>: Durch die Verwendung eines Cronjobs kann das Skript regelm\u00e4\u00dfig ausgef\u00fchrt werden, um sicherzustellen, dass die Verbindung zu einem bestimmten Zeitpunkt oder in regelm\u00e4\u00dfigen Intervallen \u00fcberpr\u00fcft wird.<\/li>\n\n\n\n<li><strong>Protokollierung von Verbindungsereignissen<\/strong>: Das Skript protokolliert alle Verbindungsereignisse in eine Textdatei, einschlie\u00dflich Zeitstempel und ob die Verbindung erfolgreich oder fehlgeschlagen ist. Diese Protokolle k\u00f6nnen f\u00fcr die Fehleranalyse und Diagnose n\u00fctzlich sein.<\/li>\n\n\n\n<li><strong>Benachrichtigung bei Verbindungsfehlern<\/strong>: Bei einem Verbindungsfehler sendet das Skript eine Benachrichtigung per E-Mail an den Administrator, so dass dieser \u00fcber Probleme informiert wird und entsprechend reagieren kann.<\/li>\n\n\n\n<li><strong>L\u00f6schung alter Protokolleintr\u00e4ge<\/strong>: Das Skript kann auch \u00e4ltere Protokolleintr\u00e4ge bereinigen, um die Protokolldatei sauber zu halten und unn\u00f6tigen Speicherplatz zu sparen.<\/li>\n<\/ol>\n\n\n\n<p>Insgesamt ist das Bash-Skript eine praktische L\u00f6sung f\u00fcr die automatisierte \u00dcberwachung von Netzwerkverbindungen und die Protokollierung von Verbindungsereignissen, was es ideal f\u00fcr Systemadministratoren und Netzwerktechniker macht, um die Verf\u00fcgbarkeit und Integrit\u00e4t ihres Netzwerks zu gew\u00e4hrleisten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HowTo test telnet connection to SAP System with IP and Port<\/h2>\n\n\n\n<p>First step is to create a file <filename.sh> and store this file in \/usr\/local\/bin<\/filename.sh><\/p>\n\n\n\n#!\/bin\/bash\n# last change: 2024-04-14\necho &#8222;Testing Telnet connection to MessageServer to &#8220;\necho &#8222;2024 (c) created by baltx.com&#8220;\n# function to test connection and write into to different files \n# A) all infos are stored in connectiontest.txt. \n# B) only the negative test results are additinally stored in connectiontest-failed.txt\n# You need to know the  and the  to complete the port information.\ncheck_connection() {\n    timestamp=$(date +&#8220;%Y-%m-%d %H:%M:%S&#8220;)\n    if telnet &#8222;$1&#8220; &#8222;$2&#8220; < \/dev\/null 2>&#038;1 | grep -q &#8222;Escape character is&#8220;; then\n        echo &#8222;$timestamp connection successful&#8220; >> \/tmp\/connectiontest.txt\n    else\n        echo &#8222;$timestamp connection failed&#8220; >> \/tmp\/connectiontest-failed.txt\n        echo &#8222;$timestamp connection failed&#8220; >> \/tmp\/connectiontest.txt\n        # Send E-Mail notification\n        mail -s &#8222;connection  failed&#8220;    <<< \"message\"\n    fi\n}\n# Function to delete old timestamps after 10 days\ndelete_old_timestamps() {\n    find \/tmp\/connectiontest.txt -type f -mtime +10 -exec sed -i '\/^[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\/d' {} \\;\n}\ndelete_old_timestamps\n# endless loop to call connection\n# while true; do\n    # Call connection This is the message server of \n    check_connection \"\" 32\n   # Alternativ: Call connection to   via SNC\n   # check_connection \"\" 48\n#    sleep 60\n# done\n# kill all telnet sessions from the user\npkill -u $USER telnet\n# end the process\nexit 0\n\n\n\n\n<p>Change the linux file system permissions (more information <a href=\"https:\/\/www.redhat.com\/sysadmin\/linux-file-permissions-explained\">https:\/\/www.redhat.com\/sysadmin\/linux-file-permissions-explained<\/a>)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod 755 <filename.sh><\/filename.sh><\/code><\/pre>\n\n\n\n<p>Run the script via cron job &#8211; use a proper user because of killing all telnet connections of this user.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>crontab -e<\/code><\/pre>\n\n\n\n<p>Run the script every minute<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>* * * * *  \/usr\/local\/bin\/<scriptname>.sh<\/scriptname><\/code><\/pre>\n\n\n\n<p>Check the results in folder \/tmp<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Skript ist hilfreich f\u00fcr die automatisierte \u00dcberwachung der SAP-Systemverbindung und die Protokollierung von Verbindungsereignissen, was es ideal f\u00fcr Systemadministratoren macht, um die Verf\u00fcgbarkeit und Integrit\u00e4t ihrer SAP-Systeme sicherzustellen.  Das Bash-Skript \u00fcberpr\u00fcft die Telnet-Verbindung zu einem MessageServer einer SAP-Systeminstanz. Hier ist eine Zusammenfassung seiner Funktionalit\u00e4ten:<\/p>\n<p>Verbindungstest: Das Skript testet die Telnet-Verbindung zu einem MessageServer einer SAP-Systeminstanz. Es verwendet die Funktion check_connection, um die Verbindung zu \u00fcberpr\u00fcfen.<\/p>\n<p>Protokollierung: Das Skript protokolliert die Testergebnisse in zwei Dateien: connectiontest.txt enth\u00e4lt alle Testergebnisse, w\u00e4hrend connectiontest-failed.txt nur fehlgeschlagene Verbindungsversuche speichert.<\/p>\n<p>Benachrichtigung bei Verbindungsfehlern: Bei einem Verbindungsfehler sendet das Skript eine E-Mail-Benachrichtigung an die angegebene E-Mail-Adresse.<\/p>\n<p>Bereinigung alter Eintr\u00e4ge: Das Skript l\u00f6scht alte Zeitstempel aus der Protokolldatei connectiontest.txt nach 10 Tagen, um die Datei sauber zu halten und Speicherplatz zu sparen.<\/p>\n<p>Endlosschleife f\u00fcr wiederholte Tests: Das Skript enth\u00e4lt eine auskommentierte Endlosschleife, die den Verbindungstest in regelm\u00e4\u00dfigen Abst\u00e4nden ausf\u00fchrt. Diese Funktion kann aktiviert werden, um kontinuierlich die Verbindung zu \u00fcberwachen. Es ist empfohlen einen cronjob zu erstellen.<\/p>\n<p>Beendigung von Telnet-Sitzungen: Nach Abschluss des Skripts beendet es alle laufenden Telnet-Sitzungen des aktuellen Benutzers.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,5],"tags":[92,94,93,7],"class_list":["post-985","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-sap","tag-bash","tag-linux","tag-script","tag-sap"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"BALTX","author_link":"https:\/\/techltx.com\/de\/author\/baltx-com\/"},"uagb_comment_info":20,"uagb_excerpt":"Das Skript ist hilfreich f\u00fcr die automatisierte \u00dcberwachung der SAP-Systemverbindung und die Protokollierung von Verbindungsereignissen, was es ideal f\u00fcr Systemadministratoren macht, um die Verf\u00fcgbarkeit und Integrit\u00e4t ihrer SAP-Systeme sicherzustellen. Das Bash-Skript \u00fcberpr\u00fcft die Telnet-Verbindung zu einem MessageServer einer SAP-Systeminstanz. Hier ist eine Zusammenfassung seiner Funktionalit\u00e4ten: Verbindungstest: Das Skript testet die Telnet-Verbindung zu einem MessageServer einer&hellip;","_links":{"self":[{"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/posts\/985","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/comments?post=985"}],"version-history":[{"count":11,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/posts\/985\/revisions"}],"predecessor-version":[{"id":1436,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/posts\/985\/revisions\/1436"}],"wp:attachment":[{"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/media?parent=985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/categories?post=985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/tags?post=985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}