merged connect and legacy directorys and adapted corresponding readme

This commit is contained in:
2025-09-11 10:57:16 +02:00
parent 81915ddee9
commit 541d173a18
6 changed files with 67 additions and 97 deletions
+57
View File
@@ -0,0 +1,57 @@
# mail.sh – Remote Datei-Downloader für PINC-Mails
**Wichtig:**
Bevor du das Skript verwendest, führe folgende Schritte aus:
1. **Mach das Skript ausführbar:**
```bash
chmod +x mail.sh
```
2. **(Optional, wenn LUSER nicht gesetzt ist) Passe den Benutzernamen an:**
Ersetze im Skript die Stelle
```
LUSER="${LUSER:?Bitte LUSER setzen!}"
```
durch deinen tatsächlichen Benutzernamen für den Server `appdb02.in.easyname.com`.
---
## Beschreibung
Dieses Skript lädt Dateien, die einem bestimmten Muster entsprechen, von einem Remote-Server herunter. Es sucht in allen Subdirectories unter `/Apps/easyname/run/pinc*/` nach Dateien, die mit der angegebenen Kundennummer beginnen.
## Nutzung
```bash
./mail.sh <Kundennummer>
```
**Beispiel:**
```bash
./mail.sh 123
```
Das Skript sucht dann nach allen Dateien, die mit `123-` beginnen, und lädt sie in ein lokales Verzeichnis `./123/` herunter.
## Voraussetzungen
- SSH-Zugriff auf den Server `appdb02.in.easyname.com`
- Der angegebene Benutzername muss gültig sein und die nötigen Berechtigungen besitzen
- `scp` und `ssh` müssen auf deinem System installiert sein
## Ablauf
1. Das Skript prüft, ob eine Nummer als Argument übergeben wurde.
2. Es verbindet sich per SSH mit dem Server und sucht in allen passenden Subdirectories nach Dateien, die mit `<Kundennummer>-` beginnen.
3. Gefundene Dateien werden in ein lokales Verzeichnis mit dem Namen der Nummer heruntergeladen (z.B. `./123/`).
4. Das lokale Verzeichnis wird automatisch erstellt, falls es noch nicht existiert.
## Fehlerbehandlung
- Falls keine passenden Dateien gefunden werden, gibt das Skript eine entsprechende Meldung aus.
- Bei Fehlern während des Downloads oder beim Erstellen des lokalen Verzeichnisses wird eine Fehlermeldung angezeigt.
---
**Hinweis:**
Das Skript ist für den Einsatz in einer Linux-Umgebung vorgesehen.
+65
View File
@@ -0,0 +1,65 @@
#!/bin/bash
# Überprüfen, ob ein Parameter übergeben wurde
if [ -z "$1" ]; then
echo "Bitte geben Sie eine Nummer als Argument an. Beispiel: $0 123"
exit 1
fi
# Definieren Sie die Verbindungsdetails
server="appdb02.in.easyname.com"
LUSER="${LUSER:?Bitte LUSER setzen!}" # Setzen Sie hier Ihren Benutzernamen ein, wenn LUSER nicht als Umgebungsvariable gesetzt ist
# Remote-Directory überprüfen und Subdirectories auflisten, unter Verwendung von bash
remoteDirectories=$(ssh "$LUSER@$server" "bash -c 'ls -d /Apps/easyname/run/pinc*/*/'")
# Wenn keine Verzeichnisse gefunden wurden, Skript beenden
if [ -z "$remoteDirectories" ]; then
echo "Keine Subdirectories in /Apps/easyname/run/pinc/ gefunden."
exit 1
fi
localSavePath="$PWD/$1" # Setzt den lokalen Speicherpfad relativ zum aktuellen Verzeichnis
filePattern="$1-*"
# Schleife über die gefundenen Verzeichnisse und in jedem Verzeichnis nach Dateien suchen
fileList=""
for dir in $remoteDirectories; do
# Suche in jedem Verzeichnis nach Dateien mit dem angegebenen Muster
filesInDir=$(ssh "$LUSER@$server" "bash -c 'find $dir -type f -name \"$filePattern\"'")
fileList="$fileList $filesInDir"
done
# Prüfen, ob der Befehl erfolgreich ausgeführt wurde
if [ -z "$fileList" ]; then
echo "Fehler beim Ausführen des SSH-Befehls auf dem Remote-Server $server oder keine Dateien gefunden."
exit 1
fi
# Überprüfen, ob Dateien gefunden wurden
if [ -z "$fileList" ]; then
echo "Keine Dateien gefunden, die mit dem Muster $filePattern beginnen."
exit 0
fi
# Prüfen, ob das lokale Speicherverzeichnis existiert, und falls nicht, erstellen
if [ ! -d "$localSavePath" ]; then
echo "Das Verzeichnis $localSavePath existiert nicht. Erstelle es..."
mkdir -p "$localSavePath"
if [ $? -ne 0 ]; then
echo "Fehler beim Erstellen des Verzeichnisses $localSavePath."
exit 1
fi
fi
# Herunterladen der Dateien vom Remote-Server
for file in $fileList; do
scp "$LUSER@$server:$file" "$localSavePath/"
if [ $? -ne 0 ]; then
echo "Fehler beim Herunterladen der Datei $file."
else
echo "Datei $file erfolgreich heruntergeladen."
fi
done
echo "Alle Dateien wurden im Verzeichnis $localSavePath gespeichert."