From 1031846f43a262e8cd1f4a4aeb8075d4885ed5a9 Mon Sep 17 00:00:00 2001 From: Gordon Zimm Date: Wed, 30 Sep 2026 14:25:00 +0200 Subject: [PATCH] ESPO-30: Laufzeiten der langen Schritte im Bericht Installation, Neustart bis healthy und Gesamtdauer werden gemessen und am Ende ausgegeben. Fuer die EspoCRM-Installation selbst gibt es noch keinen Messwert (die Integrationsinstanz protokolliert sie nicht); die ersten Laeufe liefern so die Grundlage fuer das Zeitlimit des Tasks. Co-Authored-By: Claude Opus 5.5 --- rmm-tasks/ESPO-30-Extension-Installieren.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rmm-tasks/ESPO-30-Extension-Installieren.sh b/rmm-tasks/ESPO-30-Extension-Installieren.sh index d703f37..0cb61c9 100644 --- a/rmm-tasks/ESPO-30-Extension-Installieren.sh +++ b/rmm-tasks/ESPO-30-Extension-Installieren.sh @@ -10,7 +10,7 @@ set -u # Standzeile: zeigt im Protokoll, welche Fassung tatsaechlich gelaufen ist. -echo "ESPO-30-Extension-Installieren, Skriptstand 2026-09-30" +echo "ESPO-30-Extension-Installieren, Skriptstand 2026-09-30b" GITEA=https://gitea.subcura.net ORG=EspoCRM_Packages @@ -152,10 +152,12 @@ echo "Paket: $M_NAME $M_VERSION, SHA-256 ${SOLL_SHA:0:12}... geprueft" # 6. Installieren. Ab hier kann sich die Instanz veraendert haben - bei einem Fehler bleibt der Snapshot. docker cp "$ZIP" "espocrm:/tmp/$DATEI" >/dev/null 2>&1 || abbruch_ohne_aenderung "Paket nicht in den Container kopierbar" docker exec -u root espocrm chmod 0644 "/tmp/$DATEI" >/dev/null 2>&1 +T_INSTALL=$SECONDS AUSGABE="$(docker exec -u www-data espocrm php /var/www/html/command.php extension --file="/tmp/$DATEI" 2>&1)" || { printf '%s\n' "$AUSGABE" | tail -n 20 fehler "Installation fehlgeschlagen - der Snapshot '$SNAPSHOT' steht fuer den Rueckweg bereit (ESPO-12)" } +DAUER_INSTALL=$(( SECONDS - T_INSTALL )) # 7. Pakete entfernen: unsere Kopie, die Kopie im Container und EspoCRMs eigene Archive. Update und # Deinstallation arbeiten mit der Dateiliste in der Datenbank und den Skripten unter data/.backup/extensions; @@ -166,6 +168,7 @@ docker exec -u root espocrm rm -f "/tmp/$DATEI" >/dev/null 2>&1 find "$ESPO_ARCHIVE" -maxdepth 1 -type f -name '*z' -delete 2>/dev/null # 8. Web, Daemon und WebSocket neu starten, damit kein langlaufender Prozess alten Code behaelt, und warten. +T_START=$SECONDS RESTART="$(docker compose -f "$COMPOSE" restart espocrm espocrm-daemon espocrm-websocket 2>&1)" || { printf '%s\n' "$RESTART" | tail -n 10 fehler "Neustart fehlgeschlagen - der Snapshot '$SNAPSHOT' steht fuer den Rueckweg bereit (ESPO-12)" @@ -176,6 +179,7 @@ while [ "$SECONDS" -lt "$ENDE" ]; do sleep 10 done alle_gesund || fehler "nach ${WARTE_MAX}s nicht alle Container gesund: $(nicht_gesund) - Rueckweg ueber ESPO-12" +DAUER_START=$(( SECONDS - T_START )) # 9. Nachweis: EspoCRM selbst muss die neue Version als installiert fuehren. NACHHER="$(installierte_version)" @@ -187,6 +191,10 @@ installiert | sed 's/^/ /' echo "--- Pakete auf der VM" REST="$(find "$PACKAGES" "$ESPO_ARCHIVE" -maxdepth 1 -type f 2>/dev/null)" [ -z "$REST" ] && echo " keine - installiert, nicht als ZIP abgelegt" || printf ' WARNUNG, noch vorhanden: %s\n' $REST +echo "--- Laufzeit" +echo " Installation: ${DAUER_INSTALL} s" +echo " Neustart bis healthy: ${DAUER_START} s" +echo " gesamt: ${SECONDS} s" echo "--- Rueckweg" lvs --noheadings -o lv_name,lv_attr,origin,lv_size,data_percent "$VG/$SNAPSHOT" 2>/dev/null | sed 's/^ */ /' echo "--- Naechster Schritt von Hand"