221 lines
7.0 KiB
Markdown
221 lines
7.0 KiB
Markdown
# 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)
|
||
- [Domaintools](#domaintools)
|
||
- [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
|
||
- [**Domaintools**](./domaintools/README.md) - Tools für Domainabfragen
|
||
- [**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
|
||
- [`eign01`](./bashprofiles/eign01/)
|
||
Sicherungskopie der aktuellen `.bashrc` von `eign01`.
|
||
|
||
## Domaintools
|
||
|
||
- [`domainchecker`](./domaintools/domainchecker/README.md)
|
||
Tool zur `dig`-Massenabfrage von Domains und DNS-Records.
|
||
- [`histodomain`](./domaintools/histodomain/README.md)
|
||
Abfrage zu historischen DNS-Einträgen über die [Securitytrails-API](https://securitytrails.com).
|
||
- [`sslchecker`](./domaintools/sslchecker/README.md)
|
||
Tool zur schnellen SSL-Prüfung mehrerer Domains gleichzeitig.
|
||
|
||
## 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.
|
||
- [`wh20`](./wh20/wh20)
|
||
Dieses Skript verbindet zum angegbenen Webserver via SSH
|
||
- [`damagecontrol`](./wh20/damagereport)
|
||
Dieses Skript ermöglicht die kombinierte Abfrage zu geläufigen Problemen mit MS365-Empfängern über [`checkms`](./legacy/checkms), [`adspam`](./wh20/adspam), [`donaspam`](wh20/donaspam) sowie [`spamcheck` selbst](.wh20/spamcheck).
|
||
- [`adspam`](./adspam)
|
||
Dieses Skript ermöglicht die Prüfung auf geläufige MS365- und Spamhaus-Fehlermeldungen auf Adino-Servern direkt von der Connect aus.
|
||
- [`donaspam`](./donaspam)
|
||
Dieses Skript ermöglicht die Prüfung auf geläufige MS365- und Spamhaus-Fehlermeldungen auf inname-Servern direkt von der Connect aus.
|
||
- [`spamcheck`](./spamcheck)
|
||
Dieses Skript ermöglicht die Prüfung auf geläufige MS365- und Spamhaus-Fehlermeldungen auf einem Plesk-Server.
|
||
---
|
||
|
||
## 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`, `domaintools`, `legacy` oder `wh20`) einen Unterordner erstellen:
|
||
```
|
||
bashprofiles/<username>/
|
||
domaintools/<scriptname>/
|
||
legacy/<scriptname>/
|
||
wh20/<scriptname>/
|
||
```
|
||
|
||
2. **Skript hinzufügen**
|
||
Das eigentliche Skript im neuen Ordner ablegen:
|
||
```
|
||
domaintools/<scriptname>/<scriptname>
|
||
```
|
||
oder
|
||
```
|
||
legacy/<scriptname>/<scriptname>
|
||
```
|
||
oder
|
||
```
|
||
wh20/<scriptname>/<scriptname>
|
||
```
|
||
und ausführbar machen:
|
||
```bash
|
||
chmod +x legacy/<scriptname>/<scriptname>.sh
|
||
chmod +x wh20/<scriptname>/<scriptname>.sh
|
||
```
|
||
|
||
3. **README.md erstellen**
|
||
Als Basis das Template verwenden:
|
||
[README_template_script.md](./README_template.md)
|
||
→ kopieren, anpassen und ins Skript-Verzeichnis legen:
|
||
```
|
||
domaintools/<scriptname>/README.md
|
||
```
|
||
oder
|
||
```
|
||
legacy/<scriptname>/README.md
|
||
```
|
||
oder
|
||
```
|
||
wh20/<scriptname>/README.md
|
||
```
|
||
|
||
4. **Übersicht aktualisieren**
|
||
Das Skript in die Übersicht der passenden Kategorie-README eintragen:
|
||
- [`bashprofiles/README.md`](./bashprofiles/README.md)
|
||
- [`domaintools/README.md`](./domaintools/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 <scriptname> to <category>"
|
||
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.
|