Export environment variables in scripts to fix passphrase prompts
- Add 'set -a' and 'set +a' around 'source .env' in healthcheck.sh and restore.sh - Ensures environment variables are exported to child processes (borg, borgmatic) - Fixes issue where scripts would prompt for BORG_PASSPHRASE despite .env being loaded - Update TODO.md: mark completed items, improve formatting Scripts updated: - scripts/healthcheck.sh: Export vars before calling borgmatic commands - scripts/restore.sh: Export vars before calling borg commands 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
19
TODO.md
19
TODO.md
@@ -2,15 +2,12 @@
|
|||||||
|
|
||||||
## Priorité haute
|
## Priorité haute
|
||||||
|
|
||||||
- [ ] Configurer le repository Borg réel (local ou distant)
|
|
||||||
- [ ] Renseigner les vraies valeurs dans `/etc/borgmatic/.env`
|
|
||||||
- [ ] Tester le premier backup complet
|
- [ ] Tester le premier backup complet
|
||||||
- [ ] Vérifier que les notifications ntfy fonctionnent
|
- [ ] Vérifier que les notifications ntfy fonctionnent
|
||||||
- [ ] Documenter la passphrase et sauvegarder la clé Borg
|
- [ ] Documenter la passphrase et sauvegarder la clé Borg
|
||||||
|
|
||||||
## Priorité moyenne
|
## Priorité moyenne
|
||||||
|
|
||||||
- [ ] Configurer un backup du repository Borg lui-même (offsite)
|
|
||||||
- [ ] Mettre en place un monitoring externe (healthchecks.io ou similaire)
|
- [ ] Mettre en place un monitoring externe (healthchecks.io ou similaire)
|
||||||
- [ ] Ajouter des hooks PostgreSQL/MySQL si nécessaire
|
- [ ] Ajouter des hooks PostgreSQL/MySQL si nécessaire
|
||||||
- [ ] Configurer des alertes en cas d'échec de backup
|
- [ ] Configurer des alertes en cas d'échec de backup
|
||||||
@@ -55,7 +52,7 @@
|
|||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
|
|
||||||
- [ ] Vidéo tutoriel pour la restauration
|
- [ ] Utiliser les commandes make dans la documentation
|
||||||
- [ ] Runbook pour les situations d'urgence
|
- [ ] Runbook pour les situations d'urgence
|
||||||
- [ ] Documentation de l'architecture de backup
|
- [ ] Documentation de l'architecture de backup
|
||||||
- [ ] Guide de migration vers nouveau serveur
|
- [ ] Guide de migration vers nouveau serveur
|
||||||
@@ -81,17 +78,19 @@ Certains services pourraient nécessiter des stratégies de backup spécifiques
|
|||||||
### Optimisations d'exclusion
|
### Optimisations d'exclusion
|
||||||
|
|
||||||
Ajouter ces exclusions si nécessaire :
|
Ajouter ces exclusions si nécessaire :
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- '*/venv/*'
|
- "*/venv/*"
|
||||||
- '*/env/*'
|
- "*/env/*"
|
||||||
- '*/.git/objects/*' # Si backup de repos Git
|
- "*/.git/objects/*" # Si backup de repos Git
|
||||||
- '*/docker/overlay2/*'
|
- "*/docker/overlay2/*"
|
||||||
- '*/docker/volumes/*' # Déjà géré par les apps
|
- "*/docker/volumes/*" # Déjà géré par les apps
|
||||||
```
|
```
|
||||||
|
|
||||||
### Backup offsite
|
### Backup offsite
|
||||||
|
|
||||||
Considérer :
|
Considérer :
|
||||||
|
|
||||||
- BorgBase (service cloud spécialisé Borg)
|
- BorgBase (service cloud spécialisé Borg)
|
||||||
- Serveur distant dédié
|
- Serveur distant dédié
|
||||||
- Stockage cloud chiffré (S3, Backblaze B2)
|
- Stockage cloud chiffré (S3, Backblaze B2)
|
||||||
@@ -100,10 +99,12 @@ Considérer :
|
|||||||
### Rotation et rétention
|
### Rotation et rétention
|
||||||
|
|
||||||
Configuration actuelle :
|
Configuration actuelle :
|
||||||
|
|
||||||
- 7 daily (1 semaine)
|
- 7 daily (1 semaine)
|
||||||
- 4 weekly (1 mois)
|
- 4 weekly (1 mois)
|
||||||
- 6 monthly (6 mois)
|
- 6 monthly (6 mois)
|
||||||
|
|
||||||
Considérer :
|
Considérer :
|
||||||
|
|
||||||
- Ajouter `keep_yearly: 2` pour archives annuelles
|
- Ajouter `keep_yearly: 2` pour archives annuelles
|
||||||
- Ajuster selon l'espace disque disponible
|
- Ajuster selon l'espace disque disponible
|
||||||
|
|||||||
@@ -13,11 +13,15 @@ YELLOW='\033[1;33m'
|
|||||||
BLUE='\033[0;34m'
|
BLUE='\033[0;34m'
|
||||||
NC='\033[0m'
|
NC='\033[0m'
|
||||||
|
|
||||||
# Charger les variables d'environnement
|
# Charger et exporter les variables d'environnement
|
||||||
if [ -f /etc/borgmatic/.env ]; then
|
if [ -f /etc/borgmatic/.env ]; then
|
||||||
|
set -a
|
||||||
source /etc/borgmatic/.env
|
source /etc/borgmatic/.env
|
||||||
|
set +a
|
||||||
elif [ -f .env ]; then
|
elif [ -f .env ]; then
|
||||||
|
set -a
|
||||||
source .env
|
source .env
|
||||||
|
set +a
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ERRORS=0
|
ERRORS=0
|
||||||
|
|||||||
@@ -13,11 +13,15 @@ YELLOW='\033[1;33m'
|
|||||||
BLUE='\033[0;34m'
|
BLUE='\033[0;34m'
|
||||||
NC='\033[0m'
|
NC='\033[0m'
|
||||||
|
|
||||||
# Charger les variables d'environnement
|
# Charger et exporter les variables d'environnement
|
||||||
if [ -f /etc/borgmatic/.env ]; then
|
if [ -f /etc/borgmatic/.env ]; then
|
||||||
|
set -a
|
||||||
source /etc/borgmatic/.env
|
source /etc/borgmatic/.env
|
||||||
|
set +a
|
||||||
elif [ -f .env ]; then
|
elif [ -f .env ]; then
|
||||||
|
set -a
|
||||||
source .env
|
source .env
|
||||||
|
set +a
|
||||||
else
|
else
|
||||||
echo -e "${RED}❌ Fichier .env non trouvé${NC}"
|
echo -e "${RED}❌ Fichier .env non trouvé${NC}"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in New Issue
Block a user