Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

Un codice di uscita di backup positivo non dimostra che un servizio possa riavviarsi dai dati salvati. Separa il ripristino dei file, la leggibilità del database e le operazioni dell'applicazione necessarie. Inizia con un esercizio che non acceda mai ai dati di produzione.

Definisci il ripristino corretto

Diagram 1 · Use the button to switch views
Acquisisci dati coerenti, ripristinali in una destinazione vuota, quindi verifica gli hash, l'integrità del database e le letture dell'applicazione

Un servizio fotografico necessita di relazioni tra le immagini e i record del database. L'autenticazione può dipendere anche dalla configurazione e dalle chiavi di crittografia. Definisci la finestra di perdita dati accettabile (RPO) separatamente dalla durata di ripristino accettabile (RTO). La frequenza di backup e il tempo di ripristino sono metriche diverse.

Esegui un esercizio isolato

Salva restore_lab.py ed esegui python3 restore_lab.py . Utilizza la libreria standard di Python 3.12.3. Ogni esecuzione crea una nuova directory temporanea, un file di testo e un record SQLite. Non interrompe né elimina un servizio o un dataset esistente.

Lo script utilizza l'API di backup di SQLite per copiare il database, lo comprime in un file ZIP insieme al file di testo e lo ripristina in un'altra directory vuota. Verifica gli hash SHA-256, PRAGMA integrity_check e un record SQL noto. Consultare la spiegazione ufficiale dell'API di backup di SQLite.

file_hashes: pass
sqlite_integrity: pass
application_read: pass
scope: synthetic fixture only

Tutti e tre i controlli sono stati superati il 7 settembre 2026. In questo caso, la lettura dell'applicazione si riferisce alla query SQL nota, non all'avvio di Immich o Nextcloud. Il valore stampato in directory contiene le prove conservate. Il file ZIP in quella directory temporanea è un artefatto dell'esercitazione, non una protezione contro la perdita del dispositivo di archiviazione.

Acquisizione coerente dei servizi reali

La normale copia dei file di database attivi potrebbe non preservare la coerenza necessaria per il ripristino. Per PostgreSQL, esaminare i requisiti di metodi come SQL dump. La coerenza tra lo snapshot del database e i file esterni a cui fa riferimento è una questione a parte.

Componente Preserve Verifica di ripristino
Configurazione Compose, impostazioni e versioni dell'immagine Ricrea la configurazione prevista
Database Dump coerente o backup supportato Verifica di caricamento e integrità superata
Caricamenti Relazioni tra file e metadati Apertura di file noti
Segreti Chiavi e materiale di autenticazione Gli amministratori autorizzati possono eseguire il ripristino

Gli hash corrispondenti stabiliscono l'uguaglianza con la copia acquisita. Non dimostrano che l'intera applicazione fosse coerente al momento dell'acquisizione.

Ulteriori verifiche con restic

La seguente procedura si riferisce a un ambiente in cui restic è già installato; restic non è stato eseguito in questo esercizio. Configurare separatamente il repository e le credenziali e registrare restic version . Selezionare uno snapshot ed eseguirne il ripristino in una destinazione vuota.

restic snapshots
restic check --read-data
restic restore SNAPSHOT_ID --target /path/to/empty-restore

Sostituisci l'ID e il percorso con quelli del tuo ambiente. Ripristino e controllo del repository rispondono a domande diverse. Considera i costi di runtime e di trasferimento durante la lettura dei dati archiviati con --read-data .

Mantieni un registro di ripristino

Registra l'ora di acquisizione, l'inizio e la fine del ripristino, il volume dei dati, le versioni, i risultati del controllo dei file e le operazioni dell'applicazione. Verifica in un ambiente isolato prima di sostituire i dati di produzione, disabilitando l'invio di email e i webhook. I controlli di autenticazione e di lettura dei file trasformano questo piccolo esercizio in una procedura specifica per il servizio home-server platform.

What to read next

Review the computing platformCome funzionano gli SBC e i prodotti principali: Raspberry Pi 5, Jetson, CoralReview the backgroundDove risiedono i dati di Docker: livelli, volumi e backupContinue the seriesMisurare il consumo energetico del server domestico: inattivo, inferenza e archiviazione.