diff --git a/restauration/netbox.md b/restauration/netbox.md new file mode 100644 index 0000000..fc084e5 --- /dev/null +++ b/restauration/netbox.md @@ -0,0 +1,120 @@ +# 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/` |