- Enhanced install.sh with script auto-discovery functionality - Added Quick Start section to README with one-liner commands - Created update.sh for repository updates - Resolved merge conflicts from upstream changes 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
193 lines
5.3 KiB
Markdown
193 lines
5.3 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)
|
||
- [Connect Tools](#connect-tools)
|
||
- [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
|
||
- [**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
|
||
|
||
Aktuell enthalten:
|
||
|
||
- [`checkms`](./legacy/checkms)
|
||
Analyse von Microsoft-spezifischen SMTP Fehlercodes (S3150, S775, S7771…) in den Exim-Logs.
|
||
|
||
- [`go`](./connect/go)
|
||
SSH-Shortcuts mit Kerberos-Auth für Web-, MX-, Logger- und Support-Server
|
||
|
||
- [`pincMails`](./pincMails)
|
||
Sucht nach versendeten PINC Mails einer bestimmten Kundennummer und kopiert diese in einen lokalen Unterordner
|
||
|
||
Weitere Snippets für Legacy kommen hier dazu.
|
||
|
||
## WH20 Snippets
|
||
|
||
*(noch leer, Platzhalter für künftige Snippets)*
|
||
|
||
---
|
||
|
||
## 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
|
||
- **Connect Tools**: SSH-Shortcuts (go-Tool) mit Kerberos-Setup
|
||
- **Legacy Tools**: checkms, quicknav für Legacy-Infrastruktur
|
||
- **WH20 Tools**: Platzhalter für zukünftige WH20-Tools
|
||
|
||
|
||
|
||
## How-To: Neues Skript anlegen
|
||
|
||
Um ein neues Bash-Skript in dieses Repository aufzunehmen, bitte folgende Schritte:
|
||
|
||
1. **Ordnerstruktur anlegen**
|
||
Je nach Kategorie (`bashprofiles`, `connect`, `legacy` oder `wh20`) einen Unterordner erstellen:
|
||
```
|
||
bashprofiles/<username>/
|
||
connect/<scriptname>/
|
||
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>
|
||
chmod +x wh20/<scriptname>/<scriptname>
|
||
```
|
||
|
||
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)
|
||
- [`connect/README.md`](./connect/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.
|