// 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 :
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/resticCré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 hostnameLa dernière commande doit répondre
bkp01sans demander de mot de passe : restic ne peut pas saisir de mot de passe SSH lors d’une sauvegarde automatique.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 fichiersInstaller 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');"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-donneesSi
mariadb-dumpéchoue, restic annule la sauvegarde au lieu d’enregistrer un export incomplet.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/srv01montre la structure d’un dépôt restic, illisible sans le mot de passe. restic snapshotsliste un instantanéfichierset un instantanébase-de-donnees.- La table
gestion.clientsest 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.
