- Updated WH20 section: no longer empty, now includes plesk tool - Fixed installer categories description - Updated How-To examples (removed connect/ references) - Fixed script extension examples (.sh) - Aligned documentation with current repo structure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
186 lines
5.2 KiB
Markdown
186 lines
5.2 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)
|
||
- [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
|
||
|
||
## 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 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/<username>/
|
||
legacy/<scriptname>/
|
||
wh20/<scriptname>/
|
||
```
|
||
|
||
2. **Skript hinzufügen**
|
||
Das eigentliche Skript im neuen Ordner ablegen:
|
||
```
|
||
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:
|
||
```
|
||
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)
|
||
- [`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.
|