Analyse: geo-update holt Neustart nach (Marker), Runner-Test für build-Injektion
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
714687fe3b
commit
466fcffa21
3 files changed
+85
-3
No files matched your search
@@ -8,6 +8,7 @@ DIR="${ANALYTICS_DATA_DIR:-/srv/webklar-analytics}"
|
||||
CONTAINER="${ANALYTICS_CONTAINER:-webklar-analytics}"
|
||||
NEU="$DIR/geo.csv.new"
|
||||
ZIEL="$DIR/geo.csv"
|
||||
MARKER="$DIR/geo.restart-pending"
|
||||
|
||||
fehler() { echo "Fehler (geo-update): $*" >&2; rm -f "$NEU" "$NEU.gz"; exit 1; }
|
||||
|
||||
@@ -36,13 +37,24 @@ zeilen="$(wc -l < "$NEU" | tr -d ' ')"
|
||||
[ "$zeilen" -gt 100000 ] || fehler "Neue Datei hat nur $zeilen Zeilen (erwartet > 100000). Bestehende geo.csv bleibt unverändert."
|
||||
grep -Eq ',"?DE"?\r?$' "$NEU" || fehler "Neue Datei enthält kein 'DE'. Bestehende geo.csv bleibt unverändert."
|
||||
|
||||
neustart() {
|
||||
docker restart "$CONTAINER" >/dev/null || fehler "Neustart von $CONTAINER fehlgeschlagen (geo.csv ist aber aktualisiert, nächster Lauf versucht den Neustart erneut)."
|
||||
rm -f "$MARKER"
|
||||
echo "$CONTAINER neu gestartet."
|
||||
}
|
||||
|
||||
if [ -f "$ZIEL" ] && cmp -s "$NEU" "$ZIEL"; then
|
||||
rm -f "$NEU"
|
||||
echo "geo.csv ($geladen) unverändert, kein Neustart nötig."
|
||||
if [ -f "$MARKER" ]; then
|
||||
echo "geo.csv ($geladen) unverändert, aber ein früherer Neustart steht aus."
|
||||
neustart
|
||||
else
|
||||
echo "geo.csv ($geladen) unverändert, kein Neustart nötig."
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mv -f "$NEU" "$ZIEL"
|
||||
: > "$MARKER" # bleibt liegen, bis der Neustart gelungen ist
|
||||
echo "geo.csv aktualisiert ($geladen, $zeilen Zeilen)."
|
||||
docker restart "$CONTAINER" >/dev/null || fehler "Neustart von $CONTAINER fehlgeschlagen (geo.csv ist aber aktualisiert)."
|
||||
echo "$CONTAINER neu gestartet."
|
||||
neustart
|
||||
Reference in new issue
Block a user