fix writing in watch_status.json
All checks were successful
Docker Build Smart Logic / Build amd64 & arm64 (push) Successful in 16s
All checks were successful
Docker Build Smart Logic / Build amd64 & arm64 (push) Successful in 16s
This commit is contained in:
@@ -55,18 +55,22 @@ while true; do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Logik: Wenn kein alter Wert da ist ODER der neue Wert anders ist
|
# Logik: Wenn kein alter Wert da ist ODER der neue Wert anders ist
|
||||||
if [ -z "$OLD_VAL" ]; then
|
if [ -z "$OLD_VAL" ] || [ "$OLD_VAL" != "$NEW_VAL" ]; then
|
||||||
echo " 🆕 Erstaufnahme in Datenbank."
|
if [ -z "$OLD_VAL" ]; then
|
||||||
# Wir schreiben hier sofort, damit der Zustand gespeichert wird
|
echo " 🆕 Erstaufnahme in Datenbank."
|
||||||
TEMP_JSON=$(jq ".[\"$KEY\"] = \"$NEW_VAL\"" "$STATE_FILE")
|
else
|
||||||
echo "$TEMP_JSON" > "$STATE_FILE"
|
echo " 🔔 Update gefunden!"
|
||||||
elif [ "$OLD_VAL" != "$NEW_VAL" ]; then
|
UPDATES_FOUND="${UPDATES_FOUND}Update für $REPO ($EXTRA)\n"
|
||||||
MSG="Update für $REPO ($EXTRA)! Alt: $OLD_VAL | Neu: $NEW_VAL"
|
fi
|
||||||
echo " 🔔 $MSG"
|
|
||||||
UPDATES_FOUND="${UPDATES_FOUND}${MSG}\n"
|
# SICHERES SCHREIBEN:
|
||||||
# Wert aktualisieren
|
# Wir schreiben in eine temporäre Datei und verschieben diese dann.
|
||||||
TEMP_JSON=$(jq ".[\"$KEY\"] = \"$NEW_VAL\"" "$STATE_FILE")
|
if TEMP_DATA=$(jq ".[\"$KEY\"] = \"$NEW_VAL\"" "$STATE_FILE" 2>&1); then
|
||||||
echo "$TEMP_JSON" > "$STATE_FILE"
|
echo "$TEMP_DATA" > "${STATE_FILE}.tmp" && mv "${STATE_FILE}.tmp" "$STATE_FILE"
|
||||||
|
echo " 💾 Datei erfolgreich aktualisiert."
|
||||||
|
else
|
||||||
|
echo " ❌ JQ FEHLER: $TEMP_DATA"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo " ✅ Aktuell."
|
echo " ✅ Aktuell."
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user