88 lines
2.7 KiB
Markdown
88 lines
2.7 KiB
Markdown
# Sauvegardes
|
|
|
|
## Prérequis - connaissances nécessaires
|
|
|
|
expansion ```$(command)```
|
|
|
|
variable d'environnement ( BORG_RSH )
|
|
|
|
option -i de ssh pour utiliser une clé non standard, ou config client ssh
|
|
|
|
principe de la planification de tâches avec cron / systemd
|
|
|
|
|
|
## Sauvegarde de base
|
|
|
|
http://localhost/doku.php?id=formation:opg:linux:sauvegardes#ops_1les_outils_-_tar
|
|
|
|
cf TP/Cron
|
|
|
|
## Sauvegarde distantes
|
|
|
|
Se mettre en binôme
|
|
|
|
Créer un compte de backup avec clé ssh sans mot de passe
|
|
|
|
Utiliser la directive allowusers pour permettre l'accès à la machine uniquement depuis la machine du/de la voisin⋅e
|
|
|
|
faire une backup distante dans /var/backup/remote/date du jour sur la machine distante
|
|
|
|
|
|
## Sauvegardes chiffrées
|
|
|
|
Remplacer la commande tar mise au précédemment par borgbackup en vous aidant de la documentation suivante:
|
|
https://www.linuxtricks.fr/wiki/borg-backup-gerer-ses-backups-sous-linux
|
|
|
|
|
|
## Sauvegardes chiffrées, croisées et sécurisées
|
|
|
|
En Binôme:
|
|
|
|
(Utiliser les adresses ipv4 privées de vos machines pour les échanges)
|
|
|
|
### Mise en place des accès
|
|
|
|
* Créer un compte utilisateur borg
|
|
* Générer pour root une clé de type ed25519 nommée ~root/.ssh/id_ed25519_borg, sans passphrase
|
|
* Permettre à root@localhost de se connecter en borg sur la machine du binôme avec cette clé
|
|
|
|
vous utiliserez les adresses ip privées de vos machines
|
|
|
|
**Validation: **
|
|
|
|
La commande suivante doit vous donner un shell sur la machine de votre binôme:
|
|
|
|
```bash
|
|
sudo ssh -i ~root/.ssh/id_ed25519_borg borg@machinebinome
|
|
```
|
|
|
|
### 1ère sauvegarde distante
|
|
|
|
Une fois la connexion fonctionnelle, initialiser un dépôt borg/ssh dans ~borg de la machine du binôme et y faire une sauvegarde borg manuelle de votre répertoire personnel.
|
|
|
|
Pour utiliser la clé distante, vous aurez besoin de définir la variable d'environnement BORG_RSH ( cf man borg )
|
|
|
|
|
|
```bash
|
|
BORG_RSH='ssh -i ~root/.ssh/id_ed25519_borg' borg init --encryption repokey ssh://borg@100.0.8.1/home/borg/XX
|
|
```
|
|
|
|
Faire ensuite une sauvegarde:
|
|
|
|
```
|
|
BORG_PASSPHRASE=123Soleil BORG_RSH='ssh -i ~root/.ssh/id_ed25519_borg' borg create ssh://borg@100.0.8.1/home/borg/XX::$(date -Imin)_home /home
|
|
```
|
|
|
|
borgbackup init -e repokey ssh://borg1@100.0.8.1/home/borg1/22
|
|
|
|
### Sécurisation
|
|
|
|
Enfin, rajouter les contraintes suivantes:
|
|
* borg ne peut se connecter que depuis la machine
|
|
* la seule commande que borgXX peut exécuter via ssh est la commande ```borg serve --restrict-to-path /home/borg/backups```
|
|
|
|
### Automatisation
|
|
|
|
Pour terminer, mettez au point la tâche planifiée (avec systemd) permettant une exécution quotidienne, à 19h de cette sauvegarde borg.
|
|
|
|
Le nom des fichiers d'unité systemd sera borg.timer et borg.service |