What
A "daily at HH:MM" field in system settings, executed by the scheduler that
already runs.
Why
A backup you have to remember to click is a backup that does not exist on the
day the disk dies.
How
scheduler() in manager/cmd/server/main.go:186 already ticks every 6h and
already calls backupService.Prune(10). Add a backupService.Create when
more than a day has passed since the newest entry from List(). No cron
dependency, no new table, no new goroutine.
- Two keys in
system_settings via db.SetSetting: backup_schedule and
backup_include_volumes. Follow the pattern in handlePutSettings
(manager/internal/api/system_handlers.go:230).
- Roughly 40 lines. Ship it alongside the restore work since it shares the
settings screen.
Pairs with #3 (same settings screen).
What
A "daily at HH:MM" field in system settings, executed by the scheduler that
already runs.
Why
A backup you have to remember to click is a backup that does not exist on the
day the disk dies.
How
scheduler()inmanager/cmd/server/main.go:186already ticks every 6h andalready calls
backupService.Prune(10). Add abackupService.Createwhenmore than a day has passed since the newest entry from
List(). No crondependency, no new table, no new goroutine.
system_settingsviadb.SetSetting:backup_scheduleandbackup_include_volumes. Follow the pattern inhandlePutSettings(
manager/internal/api/system_handlers.go:230).settings screen.
Pairs with #3 (same settings screen).