# 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/` |