Files
agence66-borgmatic/QUICKSTART.md
2025-12-16 05:54:49 +01:00

186 lines
4.1 KiB
Markdown

# Guide de démarrage rapide - Borgmatic
Installation et configuration en 5 minutes.
**Version requise : Borgmatic ≥ 2.0.0**
## Installation rapide
```bash
# 1. Installer Borgmatic 2.0+ (si pas déjà fait)
sudo apt install pipx
sudo pipx install borgmatic
sudo ln -sf /root/.local/bin/borgmatic /usr/local/bin/borgmatic
# 2. Vérifier la version
borgmatic --version # Doit être ≥ 2.0.0
# 3. Cloner le dépôt (si pas déjà fait)
git clone <url-du-repo>
cd agence66-borgmatic
# 4. Configurer les variables d'environnement
cp .env.example .env
nano .env # Éditer avec vos valeurs (voir ci-dessous)
# 5. Installer
sudo ./install.sh
```
## Configuration .env
Éditez `.env` avec vos valeurs :
```bash
# Repository Borg
BORG_REPO=/chemin/vers/votre/repo
# ou pour un repo distant:
# BORG_REPO=ssh://user@backup-server.com/path/to/repo
# Passphrase de chiffrement
BORG_PASSPHRASE=votre-passphrase-securisee
# Notifications ntfy
NTFY_URL=https://ntfy.sh/votre-topic
NTFY_USER=username:password
```
## Initialiser le repository (si nouveau)
```bash
# Repository local
borg init --encryption=repokey-blake2 /path/to/repo
# Repository distant
borg init --encryption=repokey-blake2 ssh://user@server/path/to/repo
# IMPORTANT: Sauvegarder la clé !
borg key export /path/to/repo backup-key.txt
```
## Tests
```bash
# 1. Valider la configuration
sudo borgmatic config validate
# 2. Tester les notifications
./scripts/test-notifications.sh
# 3. Vérifier la santé du système
sudo ./scripts/healthcheck.sh
# 4. Test à vide (dry-run)
sudo borgmatic --dry-run --verbosity 2
# 5. Premier backup réel
sudo borgmatic --verbosity 1
```
### Explications des commandes de test
- **`borgmatic config validate`** : Vérifie la syntaxe YAML et la structure de config.yaml
- **`test-notifications.sh`** : Envoie des notifications de test via ntfy
- **`healthcheck.sh`** : Vérifie l'installation, la config, le timer, le repository
- **`--dry-run`** : Simule un backup complet sans rien modifier (teste la connexion au repo)
- **Sans `--dry-run`** : Exécute un vrai backup
## Vérifier le timer
```bash
# Vérifier que le timer est actif
systemctl status borgmatic.timer
# Voir quand le prochain backup aura lieu
systemctl list-timers | grep borgmatic
```
## Commandes utiles
```bash
# Lister les backups
borgmatic list
# Voir les logs
journalctl -u borgmatic.service -f
# Exécuter un backup manuel
sudo borgmatic
# Restaurer des fichiers
./scripts/restore.sh
# Vérifier l'intégrité
sudo borgmatic check
```
## Compatibilité avec ancien script
Si vous migriez depuis l'ancien script Borg :
1. Votre repository existant **est compatible**
2. Les archives existantes **restent accessibles**
3. Le format de nommage **est identique**
4. Aucune migration n'est nécessaire
Pour vérifier :
```bash
# Lister les anciennes archives
borg list $BORG_REPO
# Tester avec borgmatic
borgmatic list
```
## Migration depuis ancien repository
Si vous avez un repository Borg existant, il suffit de :
```bash
# 1. Pointer BORG_REPO vers votre repository existant dans .env
BORG_REPO=/path/to/existing/repo
# 2. Utiliser la même passphrase
BORG_PASSPHRASE=votre-ancienne-passphrase
# 3. Tester
borgmatic list # Devrait afficher vos anciennes archives
```
## En cas de problème
```bash
# 1. Valider d'abord la configuration
sudo borgmatic config validate
# 2. Vérifier la santé du système
sudo ./scripts/healthcheck.sh
# 3. Voir les logs
journalctl -u borgmatic.service -n 50
# 4. Tester avec dry-run
sudo borgmatic --dry-run --verbosity 2
# 5. Mode debug (très verbeux)
sudo borgmatic --verbosity 2 --list --log-file-verbosity 2
```
### Erreurs courantes
**`repositories' is a required property`**
- Vérifiez que `repositories:` est présent dans config.yaml
- Vérifiez que `BORG_REPO` est défini dans .env
**`Additional properties are not allowed`**
- Vous utilisez une vieille structure de config pour Borgmatic 1.x
- Mettez à jour vers Borgmatic 2.0+ : `sudo pipx install borgmatic --force`
**`command not found: borgmatic`**
- Créez les liens symboliques : `sudo ln -sf /root/.local/bin/borgmatic /usr/local/bin/borgmatic`
## Support
Consultez le [README.md](README.md) pour plus de détails.