Continuitate și oameni

Backup Manager

Backup-ul platformei Monolit însăși: bazele de date ale modulelor, copie pe NAS și restaurare auditată.

Versiune
1.0.0
Stadiu
Stabil
Capturi
2
Înlocuiește
Scripturi de backup întreținute de mână
Backup-ul platformei, pe module. Fiecare dintre cele 14 scheme ale bazei de date Monolit are backup zilnic la 05:00 (02:00 UTC), copiat și pe NAS. Tabelul arată ultima rulare, mărimea și câte copii se păstrează.
Backup-ul platformei, pe module. Fiecare dintre cele 14 scheme ale bazei de date Monolit are backup zilnic la 05:00 (02:00 UTC), copiat și pe NAS. Tabelul arată ultima rulare, mărimea și câte copii se păstrează.

Capturi din aplicație

Cum arată în lucru

Interfața reală Monolit, cu datele unei firme fictive într-o zi obișnuită. Apăsați pe o captură ca s-o vedeți la dimensiune completă.

Istoricul copiilor unui modul. Pentru RMM se vede fiecare copie: tabele, rânduri, sincronizarea pe NAS și cine a pornit-o, inclusiv backup-ul manual făcut înaintea actualizării. De aici se descarcă arhiva sau se pornește restaurarea.
Captura 2 din 2

Istoricul copiilor unui modul

Pentru RMM se vede fiecare copie: tabele, rânduri, sincronizarea pe NAS și cine a pornit-o, inclusiv backup-ul manual făcut înaintea actualizării. De aici se descarcă arhiva sau se pornește restaurarea.

1Nivelul 1

Pentru conducere

Ce problemă rezolvă, cum se lucrează cu modulul și ce se poate măsura.

Ce problemă rezolvă

Monolit ține într-o singură bază de date tichetele, inventarul, alertele de securitate, istoricul UPS-urilor, documentația și seiful de parole. Dacă baza de date se strică sau o actualizare merge prost, se pierde istoricul întregii echipe IT.

Backup Manager salvează automat, în fiecare zi, fiecare modul Monolit separat. Copia se păstrează local și pe NAS, iar un singur modul se poate restaura fără să le afecteze pe celelalte.

Ce face, concret

  • Face zilnic câte un backup pentru fiecare schemă a bazei de date (utilizatori, sarcini, UPS, RMM, SOC, rețea, documente, seif și celelalte).
  • Salvează fiecare backup ca arhivă ZIP, cu amprentă SHA-256, numărul de tabele și de rânduri.
  • Copiază arhivele pe un share de pe NAS. Sincronizarea se poate relua manual pentru orice copie.
  • Păstrează copiile un număr de zile stabilit pe fiecare modul (implicit 7). Pe fiecare modul se pot schimba ora și retenția.
  • Permite un backup imediat pentru un modul sau pentru toate modulele, de exemplu înainte de o actualizare.
  • Restaurează un modul dintr-o copie aleasă, cu dublă confirmare și cu backup automat de siguranță înainte.

Fluxuri de lucru

1. Backup înainte de o actualizare

  1. Administratorul deschide Setări → Backup & Recuperare.
  2. Apasă „Backup” pe modulul care urmează să fie actualizat. Copia apare imediat în istoric, cu autorul ei.
  3. După actualizare, dacă ceva nu e în regulă, copia e disponibilă pentru restaurare.

2. Restaurarea unui modul

  1. Din istoricul modulului se alege copia dorită, după dată, mărime și număr de rânduri.
  2. Fereastra de restaurare arată ce date se înlocuiesc și cere bifarea explicită a confirmării.
  3. Implicit se face întâi un backup de siguranță al datelor curente, ca operația să poată fi anulată.
  4. Rezultatul arată câte tabele și rânduri au fost restaurate.

3. Verificarea zilnică

  1. Tabelul modulelor arată ultima rulare, mărimea și câte copii există pentru fiecare modul.
  2. Cardurile de sus arată spațiul liber pe server și dacă NAS-ul e conectat.

Beneficii și indicatori

  • Vechimea ultimului backup pentru fiecare modul: țintă, sub 24 de ore.
  • Procentul de copii sincronizate pe NAS.
  • Spațiul liber pe serverul Monolit și pe NAS, vizibil și pe panoul principal.
  • Timpul de restaurare: un singur modul, fără oprirea celorlalte.

2Nivelul 2

Pentru echipa IT

Arhitectură, integrări, API, roluri și limitările cunoscute.

Arhitectură

  • Serviciu backup_manager, versiunea 1.0.0, port 8013, prefix /api/backup.
  • Schema proprie core_backup ține istoricul copiilor și configurația pe module.
  • Job programat: implicit 0 2 * * * (zilnic la 02:00 UTC), configurabil pe fiecare modul prin cron.
  • Arhivele se scriu în BACKUP_DIR (implicit /opt/monolit/backups) și se copiază în BACKUP_NAS_MOUNT (implicit /mnt/nas-monolit-backups) când BACKUP_NAS_ENABLED este activ (implicit da).
  • BACKUP_RETENTION_DAYS (implicit 7) stabilește retenția implicită.
  • BACKUP_ENCRYPTION_KEY, opțional, activează criptarea AES-256 a arhivelor.

Ce conține o copie

  • Toate tabelele unei scheme, într-o arhivă ZIP.
  • Metadate: momentul pornirii și al încheierii, durata, mărimea, numărul de tabele și de rânduri, calea locală, SHA-256, autorul (planificator sau utilizator).
  • Starea sincronizării pe NAS: momentul, calea, eroarea.
  • Starea restaurării: când și de cine.

Endpoint-uri notabile

  • GET /api/backup/modules: modulele descoperite, cu ultimul backup.
  • GET /api/backup/storage-stats: totaluri, spațiu liber, starea NAS, defalcare pe module. Folosit și de panoul principal.
  • POST /api/backup/create/{module} și POST /api/backup/create-all.
  • GET /api/backup/list/{module} și GET /api/backup/download/{backup_id}.
  • POST /api/backup/restore/{backup_id}: cere confirm în corpul cererii; opțional sare peste backup-ul de siguranță.
  • PUT /api/backup/config/{module}: activare, cron, retenție, sincronizare NAS, notificare la eșec.
  • POST /api/backup/sync-now/{backup_id} și GET /api/backup/nas-status.
  • Total: 14 endpoint-uri în module.yaml.

Roluri și audit

  • Citirea stării și a istoricului: orice utilizator autentificat cu acces la Setări (admin, it_manager).
  • Backup, descărcare, ștergere, configurare și sincronizare NAS: it_manager.
  • Restaurare: doar admin.
  • Evenimente publicate: backup.completed, backup.failed (de exemplu NAS indisponibil, disc plin, eroare de bază de date) și backup.restored, marcat ca audit critic.

Cerințe

  • Spațiu pe discul serverului Monolit pentru retenția locală.
  • Un share pe NAS montat la calea configurată, cu drept de scriere pentru serviciu.

Limitări și ce e în plan

  • Interfața funcțională se află în Setări → Backup & Recuperare.
  • Pagina separată „Backup Manager” din meniu este încă un prototip cu date simulate, marcat „în dezvoltare, Faza 2”. Prezentarea copiilor 3-2-1, a joburilor și a politicilor din acea pagină nu este încă legată de API.
  • Backup-ul acoperă schemele SQL ale modulelor. Fișierele din afara bazei de date, de exemplu arhiva brută de loguri SOC de pe NAS, nu fac parte din el.