phase0: Nachtmeldungen kommen wieder an, Sicherung mit Lucys Gedaechtnis, Token-Datei raus
Ampel / ampel (push) Successful in 26s
Ampel / ampel (push) Successful in 26s
- notify.sh sammelt nachts (00-07 Uhr) wie bisher, aber jetzt liefert mc2-morgenmeldung.timer um 07:00 alles als eine Telegram-Nachricht aus. Seit dem 21.08. las niemand die Warteschlange, alle Nachtmeldungen (auch die Sonntags-Updates) gingen verloren. Dringendes (-d, Betreff Alarm/Notfall, Text beginnt mit KRITISCH) geht sofort raus; autoupdate.sh markiert seine KRITISCH-Meldungen ausdruecklich. - backup.sh sichert zusaetzlich ~/.hermes/memories, SOUL.md, skills/, scripts/, den Box-Wart-Zustand (/srv/models/mc2-*.json), User-Units, llama-swap-Drop-ins und Lucys Stimmreferenz. restore.sh spielt Gedaechtnis und Zustand nur zurueck, wenn sie fehlen oder --mit-gedaechtnis gesetzt ist. - Update-Verlauf zaehlt die Morgenmeldung nicht als eigenen Lauf. - Waechter und Flugplan kennen den neuen Timer; deploy.sh installiert ihn. - .claude/settings.local.json aus dem Repo genommen (lokal behalten), .gitignore ergaenzt. - ruff wieder gruen (4x RUF100), AGENTS.md: Deploy macht git pull, Remote ist SSH. Tests: 86 gruen (neu: Nachtruhe, Dringendes, Morgenmeldung inkl. Telegram-Ausfall). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
4a05bc2a05
commit
648be33d21
+28
-2
@@ -7,6 +7,8 @@
|
||||
# bash restore.sh --list # vorhandene Backups zeigen (lokal + Off-Box)
|
||||
# bash restore.sh --dry-run <datei|latest> # nur anzeigen, was passieren würde
|
||||
# bash restore.sh [--yes] <datei|latest> # wiederherstellen (--yes = ohne Rückfrage)
|
||||
# bash restore.sh --mit-gedaechtnis … # Lucys Gedächtnis, SOUL, Skills, Cron-Skripte und
|
||||
# # Box-Wart-Zustand auch dann zurückspielen, wenn sie da sind
|
||||
# bash restore.sh --pull-offsite # Off-Box-Kopie (Proxmox) nach lokal holen
|
||||
#
|
||||
# Off-Box (C12): fehlt ein Backup lokal (z. B. Box-Platte neu), wird es automatisch
|
||||
@@ -40,7 +42,7 @@ offsite_fetch() {
|
||||
rsync -a -e "$OFFSITE_SSH" "$OFFSITE/$1" "$DEST_DIR/"
|
||||
}
|
||||
|
||||
usage() { echo "Nutzung: restore.sh --list | restore.sh --pull-offsite | restore.sh [--dry-run] [--yes] <datei|latest>"; }
|
||||
usage() { echo "Nutzung: restore.sh --list | restore.sh --pull-offsite | restore.sh [--dry-run] [--yes] [--mit-gedaechtnis] <datei|latest>"; }
|
||||
list_backups() {
|
||||
echo "Verfügbare Backups in $DEST_DIR:"
|
||||
local found=0 f
|
||||
@@ -57,9 +59,10 @@ list_backups() {
|
||||
}
|
||||
|
||||
[ $# -eq 0 ] && { usage; exit 1; }
|
||||
DRY=0; YES=0; TARGET=""
|
||||
DRY=0; YES=0; FULL=0; TARGET=""
|
||||
for a in "$@"; do
|
||||
case "$a" in
|
||||
--mit-gedaechtnis) FULL=1 ;;
|
||||
--list) list_backups; exit 0 ;;
|
||||
--pull-offsite)
|
||||
mkdir -p "$DEST_DIR"
|
||||
@@ -104,6 +107,11 @@ if [ "$DRY" = 1 ]; then
|
||||
[ -f "$STAGE/hermes/.env" ] && echo " • $HERMES/.env"
|
||||
[ -d "$STAGE/hermes/plugins" ] && echo " • $HERMES/plugins/"
|
||||
[ -f "$STAGE/llama-swap/config.yaml" ] && echo " • $LSWAP"
|
||||
for teil in memories SOUL.md skills scripts; do
|
||||
[ -e "$STAGE/hermes/$teil" ] || continue
|
||||
if [ "$FULL" = 1 ] || [ ! -e "$HERMES/$teil" ]; then echo " • $HERMES/$teil"
|
||||
else echo " – $HERMES/$teil bleibt (vorhanden; --mit-gedaechtnis spielt es zurück)"; fi
|
||||
done
|
||||
echo " • Dienste neu starten: $SERVICES"
|
||||
exit 0
|
||||
fi
|
||||
@@ -136,6 +144,24 @@ systemctl --user stop $SERVICES 2>/dev/null || true
|
||||
# lädt die wiederhergestellten Jobs:
|
||||
[ -d "$STAGE/hermes/cron" ] && { mkdir -p "$HERMES/cron"; cp -a "$STAGE/hermes/cron/." "$HERMES/cron/"; }
|
||||
[ -d "$STAGE/hermes/state" ] && { mkdir -p "$HERMES/state"; cp -a "$STAGE/hermes/state/." "$HERMES/state/"; }
|
||||
# Lucys Gedächtnis, Seele, Skills, Cron-Skripte und Box-Wart-Zustand (Gegenstück zu backup.sh,
|
||||
# 24.09.2026): nur zurückspielen, wenn sie fehlen (neue Platte) oder --mit-gedaechtnis gesetzt ist.
|
||||
# Sonst würde ein Restore wegen einer kaputten Config Lucys neuere Erinnerungen überschreiben.
|
||||
zurueck_wenn_noetig() { # $1 = Quelle im Backup, $2 = Ziel
|
||||
[ -e "$1" ] || return 0
|
||||
if [ "$FULL" = 1 ] || [ ! -e "$2" ]; then
|
||||
mkdir -p "$(dirname "$2")"
|
||||
if [ -d "$1" ]; then mkdir -p "$2"; cp -a "$1/." "$2/"; else cp -a "$1" "$2"; fi
|
||||
echo " • zurückgespielt: $2"
|
||||
fi
|
||||
}
|
||||
zurueck_wenn_noetig "$STAGE/hermes/memories" "$HERMES/memories"
|
||||
zurueck_wenn_noetig "$STAGE/hermes/SOUL.md" "$HERMES/SOUL.md"
|
||||
zurueck_wenn_noetig "$STAGE/hermes/skills" "$HERMES/skills"
|
||||
zurueck_wenn_noetig "$STAGE/hermes/scripts" "$HERMES/scripts"
|
||||
for f in "$STAGE"/box-wart/mc2-*.json; do
|
||||
[ -e "$f" ] && zurueck_wenn_noetig "$f" "$MODELS_DIR/$(basename "$f")"
|
||||
done
|
||||
|
||||
echo "→ Dienste starten…"
|
||||
systemctl --user start $SERVICES 2>/dev/null || true
|
||||
|
||||
Reference in New Issue
Block a user