# esn-support-bash-snippets Sammel-Repository für Bash-Skripte des **easyname Support-Teams**. Hier sammeln wir kleine Helfer für Log-Analysen, Automatisierungen und typische Support-Fälle. ## Inhaltsverzeichnis - [Quick Start](#quick-start) - [Übersicht](#übersicht) - [Bash-Profile](#bash-profile) - [Legacy Snippets](#legacy-snippets) - [WH20 Snippets](#wh20-snippets) - [Installation](#installation) - [Updates](#updates) - [How-To: Neues Skript anlegen](#how-to-neues-skript-anlegen) - [Lizenz / Sichtbarkeit](#lizenz--sichtbarkeit) ## Übersicht Die Skripte sind nach Kategorie getrennt: - [**Bashprofiles**](./bashprofiles/README.md) – Optimierte Bash-Konfigurationen - [**Legacy**](./legacy/README.md) – Snippets für Legacy-Umgebungen (inkl. Connect Tools) - [**WH20**](./wh20/README.md) – Snippets für WH20-Umgebungen ## Bash-Profile Optimierte Bash-Konfigurationen für verschiedene Support-Umgebungen: - [`pl`](./bashprofiles/pl) → [Dokumentation & Beispiele](./bashprofiles/README.md) Basis-Profil mit erweiterter History, farbigem Prompt und modularer Struktur ## Legacy Snippets - [`checkms`](./legacy/checkms) Analyse von Microsoft-spezifischen SMTP Fehlercodes (S3150, S775, S7771…) in den Exim-Logs. - [`go`](./legacy/go) SSH-Shortcuts mit Kerberos-Auth für Web-, MX-, Logger- und Support-Server - [`pincMails`](./legacy/pincMails) Sucht nach versendeten PINC Mails einer bestimmten Kundennummer und kopiert diese in einen lokalen Unterordner - [`exitrace`](./legacy/exitrace) Exim-Log-Trace & Status für einzelne Mails/Adressen/Domain-Ziele mit Status-Klassifikation (OK/PARTIAL/DELAY/FAIL) ## WH20 Snippets - [`plesk`](./wh20/plesk) Dieses Skript stellt eine SSH-Verbindung zu einem angegebenen Webserver her und generiert so einen einmaligen Login-Link für das Plesk Admin Panel des gewünschten Servers. --- ## Quick Start **One-liner Installation:** ```bash git clone http://vps.dominikus.one:3000/ljp/esn-support-bash-snippets.git esn-support-tools && cd esn-support-tools && ./install.sh ``` **One-liner Update:** ```bash cd esn-support-tools && ./update.sh ``` ## Installation Nach dem Klonen des Repositories steht ein interaktives Installationsscript zur Verfügung: ```bash # Repository klonen git clone http://vps.dominikus.one:3000/ljp/esn-support-bash-snippets.git # WICHTIG: Repository umbenennen (empfohlen) mv esn-support-bash-snippets esn-support-tools cd esn-support-tools # Installation testen (empfohlen) ./install.sh --dry-run # Installationsscript ausführen ./install.sh # Hilfe anzeigen ./install.sh --help ``` > **⚠️ Wichtiger Hinweis zu Symlinks:** > Das Installationsscript erstellt Symlinks zu den Scripts im **aktuellen Repository-Pfad**. > Wenn du das Repository später verschiebst oder umbenennst, funktionieren die installierten Tools nicht mehr. > **Empfehlung:** Repository vor der Installation in einen permanenten Pfad legen (z.B. `~/tools/esn-support-tools`). ## Updates Für Updates bestehender Installationen: ```bash # In Repository-Verzeichnis wechseln cd /pfad/zu/esn-support-tools # Update testen (empfohlen) ./update.sh --dry-run # Update durchführen ./update.sh ``` **Features des Installers:** - **Dry-Run Modus**: `--dry-run` testet Installation ohne Dateiveränderungen - **Interaktive Auswahl**: Kategorien und einzelne Tools wählbar - **Automatische Backups**: Vorhandene Dateien werden gesichert - **Symlink-Management**: Tools werden in ~/bin verlinkt - **LUSER-Setup**: Automatische Konfiguration für go-Tool - **Modular erweiterbar**: Neue Tools einfach hinzufügbar **Verfügbare Kategorien:** - **Bash-Profile**: .bashrc Optimierungen und modulare Konfiguration - **Legacy Tools**: checkms, go, pincMails, exitrace für Legacy-Infrastruktur - **WH20 Tools**: plesk für WH20-Infrastruktur ## How-To: Neues Skript anlegen Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schritte: 1. **Ordnerstruktur anlegen** Je nach Kategorie (`bashprofiles`, `legacy` oder `wh20`) einen Unterordner erstellen: ``` bashprofiles// legacy// wh20// ``` 2. **Skript hinzufügen** Das eigentliche Skript im neuen Ordner ablegen: ``` legacy// ``` oder ``` wh20// ``` und ausführbar machen: ```bash chmod +x legacy//.sh chmod +x wh20//.sh ``` 3. **README.md erstellen** Als Basis das Template verwenden: [README_template_script.md](./README_template.md) → kopieren, anpassen und ins Skript-Verzeichnis legen: ``` legacy//README.md ``` oder ``` wh20//README.md ``` 4. **Übersicht aktualisieren** Das Skript in die Übersicht der passenden Kategorie-README eintragen: - [`bashprofiles/README.md`](./bashprofiles/README.md) - [`legacy/README.md`](./legacy/README.md) - [`wh20/README.md`](./wh20/README.md) 5. **Install-Script erweitern** Neue Tools zum `install.sh` hinzufügen für automatische Installation 6. **Commit & Push** Änderungen ins Repo übernehmen: ```bash git add . git commit -m "Add to " git push ``` ## Lizenz / Sichtbarkeit > Dieses Repository ist **intern** für easyname Support. > Falls eine Freigabe nach extern geplant ist, bitte vorab mit Teamleitung abklären.