serveurs:installation:bkp-srv:install-borg

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveurs:installation:bkp-srv:install-borg [2026/08/11 10:26] – [Préparer la connexion SSH] jpmilcentserveurs:installation:bkp-srv:install-borg [2026/08/11 10:31] (Version actuelle) – [Restaurer une sauvegarde] jpmilcent
Ligne 231: Ligne 231:
  
 === Préparer la restauration === === Préparer la restauration ===
-  * Se connecter à l'instance concernée : '' ssh admin@<instance>-<region>-sinp '' +  * Se connecter à l'instance concernée : ''%%ssh admin@<instance>-<region>-sinp%%'' 
-  * Se placer dans le dossier //~/docker/borgomatic// avec : '' cd ~/docker/borgomatic '' +  * Se placer dans le dossier //~/docker/borgomatic// avec : ''%%cd ~/docker/borgomatic%%'' 
-  * Arrêter le container de sauvegarde : ''docker compose down '' +  * Arrêter le container de sauvegarde : ''%%docker compose down%%'' 
-  * Sur l'hôte, créer un dossier temporaire qui contiendra les fichiers ou dossier à restaurer : '' sudo rm -fR /tmp/restore ; mkdir /tmp/restore '' +  * Sur l'hôte, créer un dossier temporaire qui contiendra les fichiers ou dossier à restaurer : ''%%sudo rm -fR /tmp/restore ; mkdir /tmp/restore%%'' 
-  * Lancer un shell interactif avec le dossier précédemment créé lié à l'hôte : '' docker compose -f docker-compose.yml -f docker-compose.restore.yml run -v /tmp/restore:/tmp/restore borgmatic ''+  * Lancer un shell interactif avec le dossier précédemment créé lié à l'hôte : ''%%docker compose -f docker-compose.yml -f docker-compose.restore.yml run -v /tmp/restore:/tmp/restore borgmatic%%''
   * Vous pouvez alors utiliser les commandes [[https://torsion.org/borgmatic/docs/reference/command-line/| borgmatic]] ou [[https://borgbackup.readthedocs.io/en/stable/usage/general.html| Borg]]   * Vous pouvez alors utiliser les commandes [[https://torsion.org/borgmatic/docs/reference/command-line/| borgmatic]] ou [[https://borgbackup.readthedocs.io/en/stable/usage/general.html| Borg]]
  
Ligne 244: Ligne 244:
     * //web-srv// : ''borg list /home/backups/web-srv''      * //web-srv// : ''borg list /home/backups/web-srv'' 
   * Créer un dossier :   * Créer un dossier :
-    * pour le point de montage du dépôt Borg : '' mkdir /tmp/repo '' +    * pour le point de montage du dépôt Borg : ''%%mkdir /tmp/repo%%'' 
-    * pour le dossier qui contiendra les fichiers à restaurer : '' mkdir /tmp/restore '' +    * pour le dossier qui contiendra les fichiers à restaurer : ''%%mkdir /tmp/restore%%'' 
-  * Utiliser Fuse pour monter la sauvegarde sur le dossier du point de montage ///tmp/repo//: '' borg mount <repo> /tmp/repo '' +  * Utiliser Fuse pour monter la sauvegarde sur le dossier du point de montage ///tmp/repo//: ''%%borg mount <repo> /tmp/repo%%'' 
-    * Ex. avec le dépôt local : '' borg mount /home/backups/db-srv /tmp/repo '' +    * Ex. avec le dépôt local : ''%%borg mount /home/backups/db-srv /tmp/repo%%'' 
-    * Le dossier ///tmp/repo// contient les dossiers des différentes sauvegardes. Ex. de dossier sauvegardé le 17 mai 2021 à 13h57 : '' web-srv-2021-05-17T13:57:02 ''+    * Le dossier ///tmp/repo// contient les dossiers des différentes sauvegardes. Ex. de dossier sauvegardé le 17 mai 2021 à 13h57 : ''%%web-srv-2021-05-17T13:57:02%%''
   * Copier les fichiers à restaurer sur l'hôte en les copiant depuis le point de montage vers le dossier lié l'hôte :   * Copier les fichiers à restaurer sur l'hôte en les copiant depuis le point de montage vers le dossier lié l'hôte :
-    * Ex. pour //web-srv// : '' cp -r "/tmp/repo/web-srv-2021-05-17T13:57:02/mnt/source/etc/cron.d/" /tmp/restore/$(date +'%Y-%m-%d')_gnatlas.custom '' +    * Ex. pour //web-srv// : ''%%cp -r "/tmp/repo/web-srv-2021-05-17T13:57:02/mnt/source/etc/cron.d/" /tmp/restore/$(date +'%Y-%m-%d')_gnatlas.custom%%'' 
-    * Ex. pour //db-srv// : '' cp -r /tmp/repo/db-srv-2022-04-08T01\:07\:55/root/.borgmatic/postgresql_databases/172.18.5.1/geonature2db /tmp/restore/$(date +'%Y-%m-%d')_geonature2db.custom '' +    * Ex. pour //db-srv// : ''%%cp -r /tmp/repo/db-srv-2022-04-08T01\:07\:55/root/.borgmatic/postgresql_databases/172.18.5.1/geonature2db /tmp/restore/$(date +'%Y-%m-%d')_geonature2db.custom%%'' 
-    * Vérifier las présence des fichiers à restaurer : ''ls -al /tmp/restore/ '' +    * Vérifier las présence des fichiers à restaurer : ''%%ls -al /tmp/restore/%%'' 
-  * Donner les droits d'accès à l'utilisateur admin : ''chmod 644 /tmp/restore/*.custom'' +  * Donner les droits d'accès à l'utilisateur admin : ''%%chmod 644 /tmp/restore/*.custom%%'' 
-  * Démonter le point de montage et quitter le shell interactif : ''borg umount /tmp/repo'' +  * Démonter le point de montage et quitter le shell interactif : ''%%borg umount /tmp/repo%%'' 
-  * Récupérer sur votre machine locale l'archive de base de données : ''scp admin@bkp-<region>-sinp:/tmp/restore/*.custom ./''+  * Récupérer sur votre machine locale l'archive de base de données : ''%%scp admin@bkp-<region>-sinp:/tmp/restore/*.custom ./%%''
     * Voir [[serveurs:installation:db-srv:postgresql-config#restaurer_localement_un_dump_de_la_base_du_serveur| la restauration en local d'une base serveur]]     * Voir [[serveurs:installation:db-srv:postgresql-config#restaurer_localement_un_dump_de_la_base_du_serveur| la restauration en local d'une base serveur]]
  
Ligne 272: Ligne 272:
  
 === É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 ====
  • serveurs/installation/bkp-srv/install-borg.1786443988.txt.gz
  • Dernière modification : 2026/08/11 10:26
  • de jpmilcent