Sauvegarde et restauration
Votre application est en production, en direct. Sauvegardez-la. rdc copie un dépôt entier, l’application, sa base de données, ses fichiers et sa configuration, vers une seconde machine, et le ramène quand la première a disparu.
Ce tutoriel ne se contente pas de le décrire. Il le fait, sur deux machines réelles, et relit les données à la fin.
Trois étapes
- Copiez le dépôt vers une machine que vous contrôlez.
- Restaurez cette copie dans un dépôt qui lui est propre.
- Prouvez-le en relisant vos données.
Étape 1 : Les données qui doivent survivre
rdc term connect my-app --command 'cat orders.txt' Lisez d'abord les données du repository actif. Une seule ligne dans un seul fichier, pour que la preuve finale soit quelque chose que vous puissiez voir, plutôt que quelque chose à croire sur parole.
Tout ce qui suit est jugé au regard de cette seule ligne. Repérez-la à nouveau à l’étape 7.
Étape 2 : Copier le dépôt vers une seconde machine
rdc repo push my-app --to machine-12 Copiez le repository vers une deuxième machine. Le premier push transporte l'image chiffrée entière, environ deux gigaoctets en trente à quarante secondes sur cette flotte, et chaque push suivant n'envoie que les blocs modifiés. Ce qui arrive sur la cible est un artefact de sauvegarde plutôt qu'un deuxième repository actif.
Le tutoriel Transfert delta montre en direct la moitié incrémentale de cette opération.
Un artefact n’est pas un dépôt en cours d’exécution, ce qui est la raison d’être de l’étape 5.
Étape 3 : La machine de sauvegarde l’a
rdc repo list --machine machine-12 Demandez à la machine de sauvegarde ce qu'elle contient. La copie apparaît sous son propre nom, résolu depuis votre config. La deuxième ligne, portant un identifiant brut, est la base delta conservée, ce qui rend incrémental le prochain push vers cette machine.
Étape 4 : Sinistre
rdc repo down my-app --unmount Mettez la machine principale hors ligne : arrêtez ses services et démontez le volume chiffré. À partir d'ici, tout fonctionne sur la copie de l'autre machine.
Étape 5 : Transformer l’artefact en dépôt
rdc backup restore my-app@machine-12 --as my-app-restored --machine machine-12 --yes Restore est la commande qui transforme une copie poussée en repository. Elle se nomme avec --as, se place avec --machine, et se confirme avec --yes. Restaurer sous un nouveau nom n'écrase rien, ce qui rend l'exercice sûr sur une machine en production.
Faites-le une fois par machine avant d’en avoir besoin. Une machine qui n’a jamais bouclé le cycle complet n’est pas sauvegardée, aussi sains que paraissent ses envois, et restaurer sous un nouveau nom est sans risque sur une machine qui sert du trafic réel.
Étape 6 : Le monter
rdc repo up my-app-restored --no-start Montez le repository restauré. Les conteneurs restent arrêtés volontairement : ce qui est prouvé ici, ce sont les données, pas l'application.
Étape 7 : Les données ont survécu
rdc term connect my-app-restored --command 'cat orders.txt' La même commande qu'à l'étape un, exécutée contre un repository qui n'existait pas deux commandes plus tôt. La ligne revient octet par octet, depuis une machine qui n'a jamais été l'originale.
Mettez les deux côte à côte. Étape 1, tirée du dépôt d’origine sur la machine principale :
order-1042 paid 2026-08-16
Étape 7, tirée d’un dépôt qui n’existait pas deux commandes plus tôt, sur un autre matériel :
order-1042 paid 2026-08-16
Voilà le tutoriel. Pas un rapport disant qu’une sauvegarde a réussi, mais la ligne elle-même, relue depuis une autre machine.
Étape 8 : Des sauvegardes que vous pouvez rembobiner
rdc backup snapshot my-app Copier vers une machine vous donne le repository tel qu'il est maintenant. Pour un historique à travers lequel revenir en arrière, les instantanés partent vers le stockage fragmenté : le premier envoi téléverse les blocs écrits, chaque envoi suivant ne téléverse que ce qui a changé, et n'importe quel instantané peut être restauré seul. Cette commande est ici tapée et non exécutée, car l'envoi nécessite un serveur de compte et un repository sous licence, dont un enregistrement ne dispose d'aucun. Sur votre propre installation, avec un compte, voici la commande.
Sur votre propre installation, avec un compte, la séquence complète est :
rdc backup snapshot my-app
rdc backup manifests my-app
rdc backup restore my-app --as my-app-yesterday --at <snapshot-id> --up
Le guide Sauvegarde et restauration couvre les instantanés, la rétention et la vérification en détail.
Suivant : Réseau et domaines.