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` :
```
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
-> fqdn1:/etc/borgmatic/config.yaml + /etc/borgmatic/excludes
--> rsync fqdn1 /var/backups/borg/mirros/fqdn1/
--> /var/backups/borg/fqdn1.repo
-> fqdn1:/etc/borgmatic/config.yaml
--> /var/backups/borg/fqdn.repo
```
@ -67,23 +68,29 @@ Organisation des fichiers côté serveur de sauvegarde :
- fqdn1.repo : dépôt des sauvegardes de la machine fqdn1,
- 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,
- 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,
- 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-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-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,
- dobackup-rsync : lance une sauvegarde en mode `rsync`, c'est à dire via un miroir (en cours),
- /srv/borg/models/
- cron : modèle pour un fichier `cron`,
- 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,
- /srv/borg/.borg-passphrase : passphrase des dépôts,
- /srv/borg/.ssh/ :
@ -92,9 +99,9 @@ Organisation des fichiers côté 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 :
@ -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
```
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
STU
# Sauver les bases de données
STU
Lancer une sauvegarde :
```
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