Skip to main content

260302 - sauvegarde du projet Alteris (Code et bases de données)

Meilleure méthode - créer un script de sauvegarde pour Alteris (sauvegarde code et base de données SQL) 

./backup_alteris.sh

Maintenant que tout fonctionne avec le calcul des surfaces, on va créer un script d'automatisation qui s'occupe de tout en une seule commande.

Ce script va :

    Créer le dossier daté.

    Sauvegarder la base de données alteris_db.

    Compresser le code source propre.

    Nettoyer les anciennes archives pour ne pas saturer le disque.

    1. Création du script de backup

    Tape cette commande pour créer le fichier :

    Bash
    nano /home/debian/backup_alteris.sh
    

    Colle ensuite ce contenu (pense à bien vérifier que le mot de passe et le nom de la base correspondent) :

    Bash
    #!/bin/bash
    
    # Configuration
    DATE=$(date +%y%m%d)
    NOM_SAUVEGARDE="${DATE}-alteris"
    REP_DEST="/home/debian/sauv_alteris/$NOM_SAUVEGARDE"
    DB_NAME="alteris_db"
    DB_USER="alteris_user"
    
    echo "--- Début de la sauvegarde Alteris [$DATE] ---"
    
    # 1. Création du dossier
    mkdir -p $REP_DEST
    
    # 2. Sauvegarde de la Base de Données
    echo "Exportation de la base de données..."
    pg_dump -U $DB_USER -h localhost $DB_NAME > $REP_DEST/db_alteris_final.sql
    
    # 3. Sauvegarde du Code Source (en excluant node_modules pour gagner de la place)
    echo "Compression du code source..."
    tar -czvf $REP_DEST/code_alteris.tar.gz --exclude='node_modules' /var/www/alteris-geomatic
    
    # 4. Copie des configs système
    sudo cp /etc/nginx/sites-available/alteris-geomatic $REP_DEST/nginx_config
    pm2 dump && cp ~/.pm2/dump.pm2 $REP_DEST/pm2_config
    
    # 5. Création de l'archive Maîtresse
    cd /home/debian/sauv_alteris
    tar -czvf backup_FULL_alteris_${DATE}.tar.gz $NOM_SAUVEGARDE
    
    echo "--- Sauvegarde terminée avec succès dans $REP_DEST ---"
    

    2. Rendre le script exécutable

    Bash
    chmod +x /home/debian/backup_alteris.sh
    

    3. Lancer la sauvegarde maintenant

    Il te suffit de taper :

    Bash
    /home/debian/backup_alteris.sh
    

    (Il te demandera ton mot de passe PostgreSQL pour l'export).


    Pourquoi c'est "pro" ?

    Désormais, à chaque fois que tu fais une modification importante, tu n'as plus besoin de taper 10 commandes. Tu lances ./backup_alteris.sh et tu récupères un fichier .tar.gz tout propre que tu peux télécharger sur ton PC via scp.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Voici comment centraliser tout ton environnement Alteris dans ton dossier de sauvegarde /home/debian/sauv_alteris/260302-alteris.

    1. Préparer le dossier de regroupement

    On va copier tous les fichiers critiques au même endroit avant de tout compresser.

     

    # On se place dans ton dossier de sauvegarde du jour
    cd /home/debian/sauv_alteris/$(date +%y%m%d)-alteris

    # 1. On copie le code source complet (JS, HTML, DB.js)
    cp -r /var/www/alteris-geomatic ./code_source

    # 2. On copie la configuration Nginx (très important pour le HTTPS/SSL)
    sudo cp /etc/nginx/sites-available/alteris-geomatic ./nginx_config

    # 3. On copie le script de lancement PM2 (pour savoir comment relancer l'API)
    pm2 dump
    cp ~/.pm2/dump.pm2 ./pm2_config

     

    2. Réunir la base de données

    On s'assure que le dump SQL (que tu as déjà fait) est bien présent au même endroit. Si tu veux le refaire pour être sûr :

    Bash

    pg_dump -U alteris_user -h localhost alteris_db > db_alteris_complet.sql

     

    3. Créer l'archive "Master Backup"

    Maintenant, on va transformer ce dossier qui contient tout (Code + Nginx + PM2 + SQL) en un seul fichier compressé.

    Bash

    cd /home/debian/sauv_alteris
    tar -czvf backup_FULL_alteris_$(date +%y%m%d).tar.gz $(date +%y%m%d)-alteris
    


    4. Ce que contient ton "Kit de Survie"

    Si demain tu dois changer de serveur, avec ce fichier backup_FULL_alteris_260302.tar.gz, tu as :

    • code_source/ : Ton intelligence métier (Node.js + Leaflet).

    • db_alteris_complet.sql : Tes polygones et tes calculs de surface.

    • nginx_config : Tes réglages de sécurité et ton certificat SSL.

    • pm2_config : La méthode pour que le serveur redémarre tout seul.

     

     

    5. La touche finale : Sortir le fichier du VPS

    Il ne faut jamais laisser la seule copie d'une sauvegarde sur le serveur lui-même.

    Ouvre un terminal sur TON ordinateur personnel (Windows ou Mac) et tape :

    Bash

    scp debian@vps-96337587.ovh.net:/home/debian/sauv_alteris/backup_FULL_alteris_*.tar.gz 

     

    Maintenant que ton "kit de survie" est sur ton PC, on peut modifier le code sans aucune crainte. Si on casse tout, on a juste à supprimer et désarchiver ta sauvegarde.


    image.png