Passa al contenuto principale Passa alla navigazione Passa al piè di pagina

Backup e Ripristino

Copia un repository live su una seconda macchina, porta offline la prima e riporta indietro i dati.

Backup e Ripristino

La tua app è in produzione, live. Fanne il backup. rdc copia un intero repository, l’app, il suo database, i suoi file e la sua configurazione, su una seconda macchina, e lo riporta indietro quando la prima non c’è più.

Questo tutorial non si limita a descriverlo. Lo fa, su due macchine reali, e alla fine rilegge i dati.

Tre passi

Copia, ripristina, dimostra

  1. Copia il repository su una macchina che controlli.
  2. Ripristina quella copia in un repository tutto suo.
  3. Dimostralo rileggendo i tuoi dati.

Passo 1: I dati che devono sopravvivere

rdc term connect my-app --command 'cat orders.txt'

Leggi prima il payload dal repository attivo. Una riga in un file, così la prova finale è qualcosa che puoi vedere, non qualcosa che devi dare per scontato.

Tutto ciò che segue viene giudicato rispetto a questa unica riga. Cercala di nuovo al passo 7.

Passo 2: Copiare il repository su una seconda macchina

rdc repo push my-app --to machine-12

Copia il repository su una seconda macchina. Il primo invio trasferisce l'intera immagine cifrata, circa due gigabyte in trenta o quaranta secondi su questa flotta, e ogni invio successivo manda solo i blocchi modificati. Quello che arriva sulla destinazione è un artefatto di backup, non un secondo repository attivo.

Il tutorial Delta Transfer mostra dal vivo la metà incrementale di questa operazione.

Un artefatto non è un repository in esecuzione, ed è proprio questo il motivo per cui esiste il passo 5.

Passo 3: La macchina di backup ce l’ha

rdc repo list --machine machine-12

Chiedi alla macchina di backup cosa contiene. La copia appare con il proprio nome, risolto dalla tua config. La seconda riga, con un identificatore grezzo, è la base delta conservata, ciò che rende incrementale il prossimo invio a questa macchina.

Passo 4: Disastro

rdc repo down my-app --unmount

Porta la macchina primaria offline: ferma i suoi servizi e smonta il volume cifrato. Da qui in poi tutto funziona sulla copia nell'altra macchina.

Passo 5: Trasformare l’artefatto in un repository

rdc backup restore my-app@machine-12 --as my-app-restored --machine machine-12 --yes

Restore è il comando che trasforma una copia inviata in un repository. Si nomina con --as, si posiziona con --machine e si conferma con --yes. Ripristinare con un nuovo nome non sovrascrive nulla, ed è questo che rende sicuro farlo su una macchina in produzione.

Fallo una volta per macchina prima di averne bisogno. Una macchina che non ha mai completato il ciclo completo non è protetta da backup, per quanto sani appaiano i suoi invii, e ripristinare con un nome nuovo è sicuro su una macchina che serve traffico reale.

Passo 6: Montalo

rdc repo up my-app-restored --no-start

Monta il repository ripristinato. I container restano fermi apposta: ciò che si dimostra qui sono i dati, non l'applicazione.

Passo 7: I dati sono sopravvissuti

rdc term connect my-app-restored --command 'cat orders.txt'

Lo stesso comando del passaggio uno, eseguito contro un repository che due comandi fa non esisteva. La riga torna byte per byte, da una macchina che non è mai stata l'originale.

Metti i due a confronto. Passo 1, dal repository originale sulla macchina primaria:

order-1042 paid 2026-08-16

Passo 7, da un repository che due comandi prima non esisteva ancora, su hardware diverso:

order-1042 paid 2026-08-16

Questo è il tutorial. Non un rapporto che dice che un backup è riuscito, ma la riga stessa, riletta da un’altra macchina.

Passo 8: Backup attraverso cui puoi tornare indietro

rdc backup snapshot my-app

Copiare su una macchina ti dà il repository così com'è ora. Per una cronologia attraverso cui tornare indietro, gli snapshot vanno nel chunk store: la prima esecuzione carica i blocchi scritti, ogni esecuzione successiva carica solo ciò che è cambiato, e qualsiasi snapshot può essere ripristinato da solo. Questo comando è scritto e non eseguito, perché il caricamento richiede un server account e un repository con licenza, nessuno dei quali è disponibile in una registrazione. Sulla tua installazione, con un account, questo è il comando.

Sulla tua installazione, con un account, la sequenza completa è:

rdc backup snapshot my-app
rdc backup manifests my-app
rdc backup restore my-app --as my-app-yesterday --at <snapshot-id> --up

La guida Backup e Ripristino copre snapshot, retention e verifica in modo completo.


Successivo: Rete e Domini.