Date: 2026-02-23 Status: Completed Origin: MDF Webseiten session 0040
backup-all.sh — was appending env suffix twice → files landed in .../dev/dev/offsite.py and backup-all.sh into infrastructure repo_backup_generic() function to ops CLI — tar-based fallback for projects without a dedicated CLIbackup: config blocks to registry.yaml for MDF (03:15), SeriousLetter (03:00), Coolify (04:00)gen-timers.py — reads registry, generates systemd .service + .timer units automaticallyops gen-timers [--dry-run] command — replaces legacy backup-all, mdf-backup, seriousletter-backup timersschedule.py FastAPI router:GET /api/schedule/ — returns backup config for all projectsPUT /api/schedule/{project} — updates config, writes registry via nsenter, regenerates timersgen-timers must auto-remove orphan timers (e.g. backup-coolify.timer) — prevents ghost schedulesPUT /api/schedule/{project} writes via nsenter (not inside container) because systemd lives on hostbackup-all.sh must NOT append /$env suffix if the CLI already appends it internallyTags: #Session #OpsDashboard #Backups #Scheduling