#!/bin/bash # 1. Prüfen, ob die Umgebungsvariablen HOST1 und HOST2 gesetzt sind if [ -z "$HOST1" ] || [ -z "$HOST2" ]; then echo "Fehler: Die Umgebungsvariablen HOST1 und/oder HOST2 sind nicht gesetzt." echo "Bitte setze diese vor dem Ausführen des Skripts, zum Beispiel mit:" echo 'export HOST1="65.254.254.50"' echo 'export HOST2="147.93.132.244"' exit 1 fi # 2. E-Mail-Adresse interaktiv abfragen read -p "Bitte E-Mail-Adresse eingeben: " EMAIL # 3. Passwort interaktiv und unsichtbar (-s) abfragen read -s -p "Bitte Passwort eingeben: " PASSWORD echo "" # Zeilenumbruch für eine saubere Darstellung nach der Passworteingabe # 4. Log-Datei mit Zeitstempel und E-Mail definieren LOGFILE="imapsync_${EMAIL}_$(date +%Y%m%d_%H%M%S).log" echo "Starte imapsync für $EMAIL..." echo "Quell-Host (HOST1): $HOST1" echo "Ziel-Host (HOST2): $HOST2" echo "Logs werden gespeichert in: $LOGFILE" echo "---------------------------------------------------" # 5. Docker-Container ausführen und Output mit 'tee' loggen docker run --rm -i gilleslamiral/imapsync imapsync \ --host1 "$HOST1" \ --user1 "$EMAIL" \ --password1 "$PASSWORD" \ --ssl1 \ --host2 "$HOST2" \ --user2 "$EMAIL" \ --password2 "$PASSWORD" \ --ssl2 \ --automap 2>&1 | tee "$LOGFILE" echo "---------------------------------------------------" echo "Sync abgeschlossen. Das vollständige Log findest du in: $LOGFILE"