| Les deux révisions précédentes Révision précédente | |
| serveurs:installation:bkp-srv:install-borg [2026/08/11 10:30] – [Restaurer une sauvegarde] jpmilcent | serveurs:installation:bkp-srv:install-borg [2026/08/11 10:31] (Version actuelle) – [Restaurer une sauvegarde] jpmilcent |
|---|
| |
| === Écraser les fichiers à restaurer par ceux provenant de la sauvegarde sur l'hôte === | === Écraser les fichiers à restaurer par ceux provenant de la sauvegarde sur l'hôte === |
| * Sur l'hôte, écraser les fichiers à restaurer par ceux provenant de la sauvegarde : '' sudo cp -r /tmp/restore/cron.d/ /etc/ '' | * Sur l'hôte, écraser les fichiers à restaurer par ceux provenant de la sauvegarde : ''%%sudo cp -r /tmp/restore/cron.d/ /etc/%%'' |
| * Assurez vous que les dossiers et fichiers sont restaurés avec les bons droits d'accès et propriétaire | * Assurez vous que les dossiers et fichiers sont restaurés avec les bons droits d'accès et propriétaire |
| * Une fois les fichiers/dossiers restaurés vous pouvez supprimer le dossier de restauration et son contenu : '' rm -fR /tmp/restore '' | * Une fois les fichiers/dossiers restaurés vous pouvez supprimer le dossier de restauration et son contenu : ''%%rm -fR /tmp/restore%%'' |
| * **NOTE** : si nécessaire, il est possible de modifier le fichier //docker-compose.restore.yml// pour monter directement le volume source en écriture ''${VOLUME_SOURCE}:/mnt/source'' afin de remplacer les fichiers de l'hôte directement depuis le shell interactif. | * **NOTE** : si nécessaire, il est possible de modifier le fichier //docker-compose.restore.yml// pour monter directement le volume source en écriture ''%%${VOLUME_SOURCE}:/mnt/source%%'' afin de remplacer les fichiers de l'hôte directement depuis le shell interactif. |
| |
| === Restaurer une base de données avec Borgmatic === | === Restaurer une base de données avec Borgmatic === |
| * Lister les archives disponibles : '' borgmatic list '' | * Lister les archives disponibles : ''%%borgmatic list%%'' |
| * Restaurer une base de données directement. ATTENTION : Pour que cela fonctionne, il est nécessaire d'avoir utiliser une super utilisateur dans la config Borgmatic du dump des bases : <code bash> borgmatic restore --repository <repo> --archive <archive> --database <db-name> </code> | * Restaurer une base de données directement. ATTENTION : Pour que cela fonctionne, il est nécessaire d'avoir utiliser une super utilisateur dans la config Borgmatic du dump des bases : <code bash> borgmatic restore --repository <repo> --archive <archive> --database <db-name> </code> |
| * Ex. : <code bash> borgmatic restore --repository /mnt/borg-repository/ --archive "db-srv-2021-05-17T01:00:02" --database geonature2db </code> | * Ex. : <code bash> borgmatic restore --repository /mnt/borg-repository/ --archive "db-srv-2021-05-17T01:00:02" --database geonature2db </code> |
| * Si la commande échoue, récupérer dans la console la ligne de commande qui s'affiche, supprimer l'option ''<nowiki> --no-password </nowiki>'' et lancer la commande manuellement. Des erreurs plus détaillées s'afficheront. | * Si la commande échoue, récupérer dans la console la ligne de commande qui s'affiche, supprimer l'option ''%%--no-password%%'' et lancer la commande manuellement. Des erreurs plus détaillées s'afficheront. |
| * Quitter le container : ''exit'' | * Quitter le container : ''%%exit%%'' |
| |
| === Extraire l'archive de la base et la récupérer localement === | === Extraire l'archive de la base et la récupérer localement === |
| * Sur l'hôte, copier le fichier : ''sudo cp /tmp/restore/root/.borgmatic/postgresql_databases/172.18.0.1/geonature2db "/tmp/$(date +'%Y-%m-%d')_geonature2db.custom"'' | * Sur l'hôte, copier le fichier : ''%%sudo cp /tmp/restore/root/.borgmatic/postgresql_databases/172.18.0.1/geonature2db "/tmp/$(date +'%Y-%m-%d')_geonature2db.custom"%%'' |
| * Changer les droits : ''sudo chown admin: "/tmp/$(date +'%Y-%m-%d')_geonature2db.custom" '' | * Changer les droits : ''%%sudo chown admin: "/tmp/$(date +'%Y-%m-%d')_geonature2db.custom"%%'' |
| * Depuis votre machine locale récupérer l'archive : '' scp admin@db-<region>-sinp:/tmp/$(date +'%Y-%m-%d')_geonature2db.custom ./ '' | * Depuis votre machine locale récupérer l'archive : ''%%scp admin@db-<region>-sinp:/tmp/$(date +'%Y-%m-%d')_geonature2db.custom ./%%'' |
| |
| === Finaliser la restauration === | === Finaliser la restauration === |
| * Penser à relancer le service //Borgmatic// : '' docker compose up -d '' | * Penser à relancer le service //Borgmatic// : ''%%docker compose up -d%%'' |
| * Au cas ou //Borg// échoue à créer/acquérir un verrou : '' borg break-lock <repo> '' | * Au cas ou //Borg// échoue à créer/acquérir un verrou : ''%%borg break-lock <repo>%%'' |
| |
| ==== Cas particulier de la base GeoNature ==== | ==== Cas particulier de la base GeoNature ==== |