Accueil » Formations » Hygiène numérique » Sauvegardes 3-2-1 avec Restic » TP04 – Dépôt distant SFTP et sauvegarde d’une base de données
← Sauvegardes 3-2-1 avec Restic

// travaux pratiques · Hygiène numérique

TP04 - Dépôt distant SFTP et sauvegarde d’une base de données

  • TP 4 / 8
  • 6 étapes
  • ≈ 60 min
  • Accès libre

Objectif : sauvegarder srv01 vers un dépôt distant sur bkp01 par SFTP, avec un compte dédié et une authentification par clé, puis sauvegarder une base de données MariaDB de façon cohérente.

Prérequis :

  • TP01 terminé sur les deux VM.
  • Sur bkp01, l’authentification SSH par mot de passe doit être active le temps de copier la clé (valeur par défaut d’une installation Ubuntu Server depuis l’ISO).

Actions à réaliser :

  1. Préparer le compte de sauvegarde sur bkp01.

    sudo adduser restic
    sudo mkdir -p /srv/restic
    sudo chown restic:restic /srv/restic
    sudo chmod 700 /srv/restic
  2. Créer et copier la clé SSH de root sur srv01.

    sudo -i
    ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -N ""
    ssh-copy-id -i /root/.ssh/id_ed25519.pub restic@192.168.56.20
    ssh restic@192.168.56.20 hostname

    La dernière commande doit répondre bkp01 sans demander de mot de passe : restic ne peut pas saisir de mot de passe SSH lors d’une sauvegarde automatique.

  3. Initialiser le dépôt distant.

    openssl rand -base64 32 > /etc/restic/sftp.pass
    chmod 600 /etc/restic/sftp.pass
    export RESTIC_REPOSITORY=sftp:restic@192.168.56.20:/srv/restic/srv01
    export RESTIC_PASSWORD_FILE=/etc/restic/sftp.pass
    restic init
    restic backup /etc /srv/data --exclude-file=/etc/restic/excludes.txt --tag fichiers
  4. Installer MariaDB et créer une base de test.

    apt -y install mariadb-server
    mariadb -e "CREATE DATABASE gestion; CREATE TABLE gestion.clients (id INT PRIMARY KEY, nom VARCHAR(50)); INSERT INTO gestion.clients VALUES (1,'Dupont'),(2,'Martin');"
  5. Sauvegarder un export cohérent de la base.

    restic backup --tag base-de-donnees --stdin-filename all-databases.sql \
      --stdin-from-command -- mariadb-dump --all-databases --single-transaction
    restic snapshots --tag base-de-donnees

    Si mariadb-dump échoue, restic annule la sauvegarde au lieu d’enregistrer un export incomplet.

  6. Restaurer la base. Supprimez la table, puis rejouez l’export depuis le dépôt :

    mariadb -e "DROP TABLE gestion.clients;"
    restic dump --tag base-de-donnees latest /all-databases.sql | mariadb
    mariadb -e "SELECT * FROM gestion.clients;"

Vérification / résultat attendu :

  • Sur bkp01, sudo ls /srv/restic/srv01 montre la structure d’un dépôt restic, illisible sans le mot de passe.
  • restic snapshots liste un instantané fichiers et un instantané base-de-donnees.
  • La table gestion.clients est restaurée avec ses deux lignes.

Pour aller plus loin : ce dépôt constitue la copie 2 de la règle 3-2-1 (autre machine, autre support). Sa limite : le compte root de srv01 peut aussi supprimer les fichiers du dépôt par SFTP. Le TP07 corrige ce point avec un dépôt en ajout seul.

// formation sur mesure

Former votre équipe sur ce sujet ?

Azur Secure anime des sessions intra-entreprise, à distance ou dans vos locaux sur la Côte d'Azur, adaptées au niveau de vos équipes.

Demander un programme
Défiler vers le haut