Files

121 lines
3.0 KiB
Markdown

# Restauration NetBox
Procédure de restauration de la base de données NetBox depuis les backups S3 (Garage).
## Prérequis
- Accès CLI AWS configuré avec le profil `garage`
- Accès PostgreSQL (`psql`)
- Accès Komodo pour gérer les stacks
## 1. Identifier le backup à restaurer
```bash
# Lister les backups disponibles
aws --profile garage s3 ls postgres-backup/netbox/
```
Exemple de sortie :
```
2026-02-04 03:00:02 85552 netbox_20260204_020002.sql.gz
2026-02-05 03:00:00 137615 netbox_20260205_015959.sql.gz
```
## 2. Télécharger et décompresser le backup
```bash
# Télécharger
aws --profile garage s3 cp s3://postgres-backup/netbox/netbox_YYYYMMDD_HHMMSS.sql.gz ./
# Décompresser
gunzip netbox_YYYYMMDD_HHMMSS.sql.gz
```
## 3. Stopper la stack NetBox via Komodo
Avant de restaurer, arrêter NetBox pour éviter les connexions actives sur la base.
1. Accéder à Komodo : https://komodo.taila5ad8.ts.net
2. Naviguer vers la stack **netbox**
3. Cliquer sur **Stop**
Ou via CLI Komodo si disponible.
## 4. Supprimer et recréer la base de données
```bash
# Connexion en tant que superuser postgres
psql -h postgresql.taila5ad8.ts.net -U postgres
```
Exécuter les commandes SQL :
```sql
-- Terminer les connexions existantes (si nécessaire)
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'netbox' AND pid <> pg_backend_pid();
-- Supprimer la base
DROP DATABASE IF EXISTS netbox;
-- Recréer la base
CREATE DATABASE netbox OWNER netbox;
-- Quitter
\q
```
## 5. Restaurer le backup
```bash
psql -h postgresql.taila5ad8.ts.net -U netbox -d netbox < netbox_YYYYMMDD_HHMMSS.sql
```
Entrer le mot de passe lorsque demandé.
## 6. Redémarrer NetBox via Komodo
1. Retourner sur Komodo : https://komodo.taila5ad8.ts.net
2. Naviguer vers la stack **netbox**
3. Cliquer sur **Start**
## 7. Vérification
- Accéder à NetBox : https://netbox.taila5ad8.ts.net
- Vérifier que les données sont présentes
- Contrôler les logs si nécessaire
## Résumé des commandes
```bash
# 1. Lister les backups
aws --profile garage s3 ls postgres-backup/netbox/
# 2. Télécharger et décompresser
aws --profile garage s3 cp s3://postgres-backup/netbox/netbox_YYYYMMDD_HHMMSS.sql.gz ./
gunzip netbox_YYYYMMDD_HHMMSS.sql.gz
# 3. [Komodo] Stopper la stack netbox
# 4. Drop/Create database
psql -h postgresql.taila5ad8.ts.net -U postgres -c "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'netbox' AND pid <> pg_backend_pid();"
psql -h postgresql.taila5ad8.ts.net -U postgres -c "DROP DATABASE IF EXISTS netbox;"
psql -h postgresql.taila5ad8.ts.net -U postgres -c "CREATE DATABASE netbox OWNER netbox;"
# 5. Restaurer
psql -h postgresql.taila5ad8.ts.net -U netbox -d netbox < netbox_YYYYMMDD_HHMMSS.sql
# 6. [Komodo] Redémarrer la stack netbox
```
## Informations de connexion
| Paramètre | Valeur |
|-----------|--------|
| Host PostgreSQL | `postgresql.taila5ad8.ts.net` |
| Database | `netbox` |
| User (restore) | `netbox` |
| User (admin) | `postgres` |
| S3 Bucket | `postgres-backup` |
| S3 Prefix | `netbox/` |