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 il repository su una macchina che controlli.
- Ripristina quella copia in un repository tutto suo.
- 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.