{"id":1437,"date":"2024-05-21T22:21:47","date_gmt":"2024-05-21T19:21:47","guid":{"rendered":"https:\/\/techltx.com\/de\/?p=1437"},"modified":"2024-05-21T22:26:56","modified_gmt":"2024-05-21T19:26:56","slug":"bash-script-netcat-connection-sap-s-4hana-system","status":"publish","type":"post","link":"https:\/\/techltx.com\/de\/sap\/bash-script-netcat-connection-sap-s-4hana-system\/2024\/05\/","title":{"rendered":"bash script f\u00fcr den NETCAT 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><strong>Netcat<\/strong>, auch als <strong><code>nc<\/code> <\/strong>bezeichnet, ist ein Befehlszeilen-Tool, das f\u00fcr die Netzwerkinteraktion verwendet wird. Es kann als einfacher TCP\/IP-Client oder -Server dienen und erm\u00f6glicht das Senden und Empfangen von Daten \u00fcber Netzwerkverbindungen. Netcat kann f\u00fcr eine Vielzahl von Aufgaben verwendet werden, darunter Portscans, Datei\u00fcbertragungen, Netzwerkkommunikationstests und sogar als Backdoor f\u00fcr Remote-Zugriff. Daher ist nc bei den Netzwerkkollegen ein sehr beliebtes Tool, welches wir uns nun zum Verbindungstest mit einem SAP S\/4HANA System benutzen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HowTo test netcat 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<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\n# Funktion zur \u00dcberpr\u00fcfung der Verbindung und Versenden von Benachrichtigungen\ncheck_connection() {\n    timestamp=$(date +\"%Y-%m-%d %H:%M:%S\")\n    if nc -z \"$1\" \"$2\" >\/dev\/null 2>&1; then\n        echo \"$timestamp Verbindung erfolgreich\" >> \/tmp\/connectiontest.txt\n    else\n        echo \"$timestamp Verbindung fehlgeschlagen\" >> \/tmp\/connectiontest-failed.txt\n        # Benachrichtigung per E-Mail senden\n        echo \"Verbindungsfehler zu $1:$2\" | mail -s \"Verbindungsfehler\" your_email@example.com\n    fi\n}\n\n# Funktion zum L\u00f6schen von alten Timestamps in der Datei\ndelete_old_timestamps() {\n    # Finden und L\u00f6schen von Timestamps, die \u00e4lter als 10 Tage sind\n    find \/tmp\/connectiontest.txt -type f -mtime +10 -exec sed -i '\/^&#91;0-9]\\{4\\}-&#91;0-9]\\{2\\}-&#91;0-9]\\{2\\}\/d' {} \\;\n    find \/tmp\/connectiontest-failed.txt -type f -mtime +10 -exec sed -i '\/^&#91;0-9]\\{4\\}-&#91;0-9]\\{2\\}-&#91;0-9]\\{2\\}\/d' {} \\;\n}\n\n# L\u00f6schen \u00e4lterer Timestamps\ndelete_old_timestamps\n\n# Aufruf der Verbindungsfunktion\ncheck_connection \"8.8.8.8\" 3200\n\n# Alle Netcat-Prozesse beenden\n# pkill -u $USER nc\n\n# Prozess beenden\nexit 0<\/code><\/pre>\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<\/code><\/pre>\n\n\n\n<p>Run the script via cron job &#8211; use a proper user because of killing all nc connections of this user (by default killing it is disabled).<\/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\/.sh<\/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 Verbindung zu einem MessageServer einer SAP-Systeminstanz. Hier ist eine Zusammenfassung seiner Funktionalit\u00e4ten:<\/p>\n<p>Verbindungstest: Das Skript testet die nc-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 nc-Sitzungen: Nach Abschluss des Skripts beendet es alle laufenden nc-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":[5],"tags":[92,111,110,109,93,7],"class_list":["post-1437","post","type-post","status-publish","format-standard","hentry","category-sap","tag-bash","tag-connection-test","tag-message-server","tag-netcat","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":0,"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 Verbindung zu einem MessageServer einer SAP-Systeminstanz. Hier ist eine Zusammenfassung seiner Funktionalit\u00e4ten: Verbindungstest: Das Skript testet die nc-Verbindung zu einem MessageServer einer&hellip;","_links":{"self":[{"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/posts\/1437","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=1437"}],"version-history":[{"count":6,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/posts\/1437\/revisions"}],"predecessor-version":[{"id":1447,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/posts\/1437\/revisions\/1447"}],"wp:attachment":[{"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/media?parent=1437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/categories?post=1437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techltx.com\/de\/wp-json\/wp\/v2\/tags?post=1437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}