Merge branch 'main' of git.a-lec.org:a-lec/commissions/infrastructure/sauvegardes

This commit is contained in:
Christian P. MOMON 2023-03-17 17:07:54 +01:00
commit c17e85f574
1 changed files with 57 additions and 17 deletions

View File

@ -39,11 +39,12 @@ Systemd.borgmatic.timer(fqdn1)
Flux en mode `rysnc` : Flux en mode `rysnc` :
``` ```
fqdn:cron backup fqdn:cron backup
-> /srv/borg/bin/dobackup-rsync fqdn1 --> rsync fqdn1 sauvkipeu:/var/backups/borg/mirrors/fqdn + fqdn.cache
sauvkipeu:/etc/cron.d/backups
--> /srv/borg/bin/dobackup-rsync fqdn
--> borgmatic create --verbosity 1 --> borgmatic create --verbosity 1
-> fqdn1:/etc/borgmatic/config.yaml + /etc/borgmatic/excludes -> fqdn1:/etc/borgmatic/config.yaml
--> rsync fqdn1 /var/backups/borg/mirros/fqdn1/ --> /var/backups/borg/fqdn.repo
--> /var/backups/borg/fqdn1.repo
``` ```
@ -67,23 +68,29 @@ Organisation des fichiers côté serveur de sauvegarde :
- fqdn1.repo : dépôt des sauvegardes de la machine fqdn1, - fqdn1.repo : dépôt des sauvegardes de la machine fqdn1,
- fqdn2.repo : dépôt des sauvegardes de la machine fqdn2, - fqdn2.repo : dépôt des sauvegardes de la machine fqdn2,
- … - …
- /var/backups/borg/mirrors/ :
- fqdn3/
- fqdn3.cache/
- /srv/borg/bin/ : ensemble de scripts pour gérer les sauvegardes, - /srv/borg/bin/ : ensemble de scripts pour gérer les sauvegardes,
- doreport : génère un rapport sur les sauvegardes,
- dobackups : lance la sauvegarde de toutes les machines, appelé par `cron`,
- doprunes : lance la purge de chaque dépôt de sauvegarde, appelé par `cron`,
- dochecks : lance la vériciation de chaque dépôt de sauvegarde, appelé par `cron`,
- countbackups : affiche le nombre de sauvegardes pour chaque dépôt de sauvegarde, - countbackups : affiche le nombre de sauvegardes pour chaque dépôt de sauvegarde,
- dobackup-remote : lance une sauvegarde en mode `remote`, c'est à dire par une commande `ssh`, - dobackups : lance la sauvegarde de toutes les machines, appelé par `cron`,
- dobackup-local : lance une sauvegarde du serveur de sauvegarde,
- ~~dobackup-remote : lance une sauvegarde en mode `remote`, c'est à dire par une commande `ssh`,~~
- dobackup-rsync : lance une sauvegarde en mode `rsync`, c'est à dire via un miroir,
- dochecks : lance la vériciation de chaque dépôt de sauvegarde, appelé par `cron`,
- doreport : génère un rapport sur les sauvegardes,
- doprunes : lance la purge de chaque dépôt de sauvegarde, appelé par `cron`,
- doinit : créé un dépôt de sauvegarde dans `/var/backups/borg/`, - doinit : créé un dépôt de sauvegarde dans `/var/backups/borg/`,
- doinit-local : appelle `doinit` et créé le fichier de configuration associé pour le serveur de sauvegarde,
- doinit-remote : appelle `doinit` et créé le fichier de configuration associé, - doinit-remote : appelle `doinit` et créé le fichier de configuration associé,
- doinit-rsync : appelle `doinit` et créé le fichier de configuration associé, - doinit-rsync : appelle `doinit` et créé le fichier de configuration associé,
- doinit-local : appelle `doinit` et créé le fichier de configuration associé pour le serveur de sauvegarde,
- dobackup-local : lance une sauvegarde du serveur de sauvegarde,
- lastbackups : affiche la dernière sauvegarde de chaque dépôt, - lastbackups : affiche la dernière sauvegarde de chaque dépôt,
- dobackup-rsync : lance une sauvegarde en mode `rsync`, c'est à dire via un miroir (en cours),
- /srv/borg/models/ - /srv/borg/models/
- cron : modèle pour un fichier `cron`, - cron : modèle pour un fichier `cron`,
- excludes : modèle pour l'exclusion par défaut pendant les sauvegardes, - excludes : modèle pour l'exclusion par défaut pendant les sauvegardes,
- model-conf-local.yaml,
- model-conf-remote.yaml,
- model-conf-rsync.yaml,
- retention.yaml : modèle pour le paramétrage par défaut des purges, - retention.yaml : modèle pour le paramétrage par défaut des purges,
- /srv/borg/.borg-passphrase : passphrase des dépôts, - /srv/borg/.borg-passphrase : passphrase des dépôts,
- /srv/borg/.ssh/ : - /srv/borg/.ssh/ :
@ -92,9 +99,9 @@ Organisation des fichiers côté serveur de sauvegarde :
# Installation d'un serveur de sauvegarde # Installation d'un serveur de sauvegarde
Ajouter les backports bullseye dans `/etc/apt/source.list` : Ajouter les backports bullseye dans `/etc/apt/source.list.d/` :
``` ```
deb http://ftp.fr.debian.org/debian/ bullseye-backports main echo "deb http://ftp.fr.debian.org/debian/ bullseye-backports main" > /etc/apt/sources.list.d/backports.list
``` ```
Installer les paquets nécessaires : Installer les paquets nécessaires :
@ -354,12 +361,45 @@ Ajouter un accès ssh restreint dans `/srv/borg/.ssh/authorized_keys` :
command="rsync --server --sender -vlogDtprze.iLsf --numeric-ids . /path/" rsync ",restrict ssh-rsa AAAAZZZZZ root@foo.bar.org command="rsync --server --sender -vlogDtprze.iLsf --numeric-ids . /path/" rsync ",restrict ssh-rsa AAAAZZZZZ root@foo.bar.org
``` ```
Ajouter le lancement de la sauvegarde dans `/srv/borg/bin/dobackups` :
```
/srv/borg/bin/dobackup-rsync foo.bar.org
```
## Tester côté marchine à sauvegarder
Valider les clés des serveurs de sauvegarde (ignorer l'erreur) :
```
ssh -p222 sauvkipeu.libre-en-communs.org
ssh -p222 gardefou.libre-en-communs.org
```
Lancer une première sauvegarde (prévoir 2 min) :
```
systemctl start borgmatic
```
## Tester côté serveur ## Tester côté serveur
STU
# Sauver les bases de données Lancer une sauvegarde :
STU ```
time /srv/borg/bin/dobackup-remote foo.bar.org
```
Afficher les informations du dépôt :
```
borgmatic -c /etc/borgmatic.d/foo.bar.org.yaml info
```
Afficher la liste des sauvegardes du dépôt :
```
borgmatic -c /etc/borgmatic.d/foo.bar.org.yaml list
```
Afficher le contenu de la sauvegarde :
```
borgmatic -c /etc/borgmatic.d/foo.bar.org.yaml list --archive 2023-XX-XXTXX:XX
```
# Notes pour les mises à jour futures # Notes pour les mises à jour futures