Files
prefect-flows-pg-backup/restauration/netbox.md

3.0 KiB

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

# 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

# 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

# Connexion en tant que superuser postgres
psql -h postgresql.taila5ad8.ts.net -U postgres

Exécuter les commandes 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

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

Résumé des commandes

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