Add new file
This commit is contained in:
parent
2304f29851
commit
9d6091dcab
|
@ -0,0 +1,169 @@
|
|||
# Plan Borg
|
||||
|
||||
Le plan Borg est une solution de sauvegarde basée sur Borgmatic.
|
||||
|
||||
__TOC__
|
||||
|
||||
## Installation d'un serveur de sauvegarde
|
||||
|
||||
### Prérequis
|
||||
|
||||
Installer les paquets nécessaires :
|
||||
```
|
||||
apt install borgmatic
|
||||
```
|
||||
|
||||
Créer un utilisateur dédié :
|
||||
```
|
||||
adduseradd borgmaster
|
||||
```
|
||||
|
||||
Créer un dossier pour les scripts maison :
|
||||
```
|
||||
mkdir -p /home/borgmaster/bin
|
||||
```
|
||||
|
||||
Déclarer ce dossier dans le `path` de `borgmaster` :
|
||||
```
|
||||
export PATH=$PATH:~/bin/
|
||||
```
|
||||
|
||||
Copier les scripts utilitaires dans `~borgmaster/bin/` :
|
||||
```
|
||||
cd ~borgmaster/bin/
|
||||
git clone truc ou cp
|
||||
```
|
||||
|
||||
Ajouter le script d'initialisation de dépôt de sauvegarde `~borgmaster/bin/doborginit` :
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
REPO_NAME="$1"
|
||||
BORG_REPO_ZONE="/var/backups/borgzone"
|
||||
|
||||
borg init --encryption=repokey-blake2 ${BORG_REPO_ZONE}/${REPO_NAME}.repo
|
||||
```
|
||||
|
||||
Ajouter le script d'environnement `~borgmaster/bin/doborgenv` :
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
REPO_NAME="$1"
|
||||
export BORG_REPO_ZONE="/var/backups/borgzone"
|
||||
export BORG_REPO="${BORG_REPO_ZONE}/{REPO_NAME}.repo"
|
||||
```
|
||||
|
||||
Ajouter le script de sauvegarde générale `~borgmaster/bin/dobackups` :
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
# TODO
|
||||
sh root@$COMPUTER "borgmatic create $OPTIONS --stats --verbosity 1 --syslog-verbosity 1"
|
||||
```
|
||||
|
||||
Ajouter le script de sauvegarde générale `~borgmaster/bin/checks` :
|
||||
```
|
||||
#!/bin/bash
|
||||
|
||||
borgmatic -c $CONFIG check --verbosity 1
|
||||
borgmatic -c $CONFIG prune --stats --verbosity 1
|
||||
|
||||
# TODO
|
||||
```
|
||||
|
||||
Définir une passphrase générique :
|
||||
```
|
||||
echo "blablablablablabla" > ~borgmaster/.borg-passphrase
|
||||
```
|
||||
|
||||
Créer un dossier des sauvegardes dédiées au plan Borg :
|
||||
```
|
||||
mkdir -p /var/backup/borgzone
|
||||
chown borgmaster /var/backup/borgzone
|
||||
```
|
||||
|
||||
Configurer le `cron` dans `/etc/cron.d/backups` :
|
||||
```
|
||||
10 0 * * * borgmaster /home/borgmaster/bin/dobackups >> /var/backups/borgzone/dobackups.log 2>&1
|
||||
10 12 * * * borgmaster /home/borgmaster/bin/dochecks >> /var/backups/borgzone/dobackups.log 2>&1
|
||||
```
|
||||
|
||||
## Configurer une nouvelle machine sur le serveur de sauvegarde
|
||||
|
||||
Créer le dossier de dépôt (avec l'utilisateur `borgmaster`) :
|
||||
```
|
||||
doborginit foo.bar.org
|
||||
```
|
||||
|
||||
Configurer Borgmatic dans `/etc/borgmatic/foo.bar.org.conf` :
|
||||
```
|
||||
location:
|
||||
source_directories: []
|
||||
|
||||
repositories:
|
||||
- /var/backups/borgzone/foo.bar.org.repo
|
||||
|
||||
retention:
|
||||
keep_within: 14d
|
||||
keep_daily: 7
|
||||
keep_weekly: 12
|
||||
keep_monthly: 6
|
||||
keep_yearly: 1
|
||||
prefix: 'foo.bar.org-'
|
||||
|
||||
consistency:
|
||||
checks:
|
||||
- repository
|
||||
- archives
|
||||
prefix: 'foo.bar.org-'
|
||||
|
||||
storage:
|
||||
encryption_passphrase: blablabla
|
||||
|
||||
output:
|
||||
color: false
|
||||
```
|
||||
|
||||
Autoriser un accès ssh restreint dans `/home/borgmaster/.ssh/authorized_keys` :
|
||||
```
|
||||
command="export BORG_PASSCOMMAND=/home/borg/.borg-passphrase; borg serve --restrict-to-path /var/backups/borgzone/foo.bar.org.repo/ --restrict-to-repository /var/backups/borgzone/foo.bar.org.repo --append-only",restrict ssh-rsa AAAAZZZZZ root@foo.bar.org
|
||||
```
|
||||
|
||||
## Configurer une nouvelle machine sur le serveur de sauvegarde
|
||||
|
||||
Installer des paquets nécessaires :
|
||||
```
|
||||
apt install borgmatic
|
||||
```
|
||||
|
||||
Configurer Borgmatic dans `/etc/borgmatic/config.yaml` :
|
||||
```
|
||||
location:
|
||||
source_directories:
|
||||
- /etc
|
||||
- /home
|
||||
- /opt
|
||||
- /root
|
||||
- /srv
|
||||
- /usr
|
||||
- /var
|
||||
|
||||
repositories:
|
||||
- borgmaster@sauvkipeu:/var/backups/borgzone/foo.bar.org.repo
|
||||
- borgmaster@gardefou:/var/backups/borgzone/foo.bar.org.repo
|
||||
|
||||
exclude_from:
|
||||
- /etc/borgmatic/excludes
|
||||
|
||||
storage:
|
||||
ssh_command: ssh -p XXXXX
|
||||
encryption_passphrase: blablabla
|
||||
# archive_name_format: '{fqdn}-{now:%Y-%m-%dT%H:%M}'
|
||||
archive_name_format: '{fqdn}-{now:%Y%m%d}'
|
||||
|
||||
retention:
|
||||
prefix: '{fqdn}-'
|
||||
|
||||
output:
|
||||
color: false
|
||||
```
|
Loading…
Reference in New Issue