v0.168.0: customer-configurable backup window (Mentési időablak)
ONE setting (window start W) drives every nightly leg at fixed, never-stored offsets: DB dump at W, tier-2 at W+60m, off-box at W+105m (wrap-safe). Precedence settings > controller.yaml db_dump_schedule > 02:30. - scheduler.UpdateDaily: retime a daily job at runtime (no restart) via a per-job buffered resched chan + a select case in runDailyJob. - new pure package internal/backupwindow (LegTimes/GateWindow/EffectiveWindow). - quiesce disk-tier window gate: scheduled cycles run only inside [W+2h,W+6h) with a safety valve (age>cadence+24h runs regardless); manual TriggerNow never gated. Backend.Due now also returns the backup age (from the agent's own /backup/due). - backup page: Mentési időablak card (time input + derived leg/gate rows); POST /backups/window validates -> saves -> UpdateDaily x3 -> flash. Tests: 5 groups, all red-proofed. Agent/cadence//backup/due untouched.
This commit is contained in:
@@ -109,6 +109,26 @@
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<!-- Section: customer-configurable backup window (v0.168.0) — one setting drives every nightly leg -->
|
||||
<div class="backup-section-card">
|
||||
<h3>Mentési időablak</h3>
|
||||
<p class="form-hint" style="margin-bottom:1rem">A mentések egymás után futnak: adatbázis-mentés, helyi másolat, távoli mentés, majd a teljes rendszermentés.</p>
|
||||
<form method="POST" action="/backups/window" class="schedule-actions" style="display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap">
|
||||
{{.CSRFField}}
|
||||
<div class="form-group" style="margin:0">
|
||||
<label for="window_start">Mentési időablak kezdete</label>
|
||||
<input type="time" id="window_start" name="window_start" value="{{.BackupWindow}}" class="form-control" style="max-width:9rem" required>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-sm btn-primary">Mentés</button>
|
||||
</form>
|
||||
<ul class="form-hint" style="margin-top:1rem;margin-bottom:0;list-style:none;padding:0;line-height:1.9">
|
||||
<li>Adatbázis-mentés: <strong>{{.BackupLegDB}}</strong></li>
|
||||
<li>Helyi másolat: <strong>{{.BackupLegTier2}}</strong></li>
|
||||
<li>Távoli mentés: <strong>{{.BackupLegOffbox}}</strong></li>
|
||||
<li>Teljes rendszermentés: kb. <strong>{{.BackupGateFrom}}–{{.BackupGateTo}}</strong> között</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Section 1: Status overview cards -->
|
||||
<div class="stats-grid backup-page-cards">
|
||||
{{if .Backup.LastDBDump}}
|
||||
|
||||
Reference in New Issue
Block a user