Aller au contenu principal

Restaurer des fichiers depuis le portail

Ce que fait la fonction​

L'assistant Restaurer des fichiers du portail copie une sélection de fichiers et de dossiers d'un point de restauration vers une machine. Il a trois étapes : Sélection, Destination et Vérification. Une quatrième étape, Confirmation, s'ajoute quand la machine cible appartient à un autre client du MSP.

BaaStide lit les données dans le stockage, pas sur la machine qui a fait la sauvegarde. Cette machine peut donc être arrêtée. La machine cible, elle, doit être en ligne : c'est son agent qui écrit les fichiers.

Une restauration n'efface jamais un fichier de la machine cible, et elle ne modifie jamais le point de restauration. Vous pouvez la relancer autant de fois que nécessaire.

Prérequis​

  • Le rôle Technicien ou Administrateur. Le rôle Lecture seule ne lance aucune restauration : le portail écrit « Accès refusé », puis « Votre rôle voit les points de restauration, pas leur contenu. Demandez à un administrateur ou à un technicien du MSP. » Voir Rôles et droits.
  • Au moins un point de restauration de fichiers sur la machine source. Voir Trouver le bon point de restauration.
  • L'agent de la machine cible en ligne, en version 0.6.1 ou plus récente, dont l'accès n'est pas révoqué et dont la suppression n'est pas demandée. Voir Versions d'agent minimales par fonction.
  • Les restaurations depuis le portail activées sur la machine cible. Le client peut les couper.
  • Pour l'API : une clé API avec la portée operate.

Une restauration ne demande pas une licence qui autorise les sauvegardes. Voir Choisir la bonne restauration.

Choisir la sélection​

Chaque restauration part de l'étape Sélection : vous choisissez le point de restauration, vous le parcourez ou vous y cherchez un fichier, puis vous cochez les éléments. La procédure complète est dans Trouver le bon point de restauration.

Quand votre sélection est prête, cliquez Suivant : destination. Une sélection porte 1 000 éléments au plus.

Les procédures ci-dessous commencent toutes à l'étape Destination.

Restaurer dans un dossier daté​

Choisissez ce scénario quand le client veut relire ses fichiers avant de les remettre en place. C'est le choix le plus sûr : aucun fichier en place n'est touché.

  1. Sous Machine cible, gardez Cette machine, suivi du nom de la machine.
  2. Sous Emplacement, choisissez Dossier séparé.
  3. Lisez le Dossier cible proposé. Sur Linux, le portail propose /var/lib/baastide-restore/<AAAAMMJJ-HHMMSS>. Sur Windows, il propose C:\BaaStide-restore\<AAAAMMJJ-HHMMSS>.
  4. Gardez ce dossier, ou tapez un autre chemin absolu.
  5. Pour choisir un dossier qui existe déjà, cliquez Parcourir…, ouvrez le dossier, puis cliquez Choisir ce dossier.
  6. Sous Si un fichier existe déjà, gardez Ne pas le toucher.
  7. Cliquez Suivant : vérification.
  8. Vérifiez le point de restauration, les éléments, la taille, la machine cible, l'emplacement et le choix d'écrasement.
  9. Cliquez Lancer la restauration.

Le portail ouvre alors la page de la restauration. Voir Suivre et arrêter une restauration.

Où arrivent les fichiers​

Les fichiers vont sous le dossier cible, avec leur chemin d'origine. Le portail écrit un exemple sous le champ, avec le premier élément de votre sélection.

Machine cibleDossier cibleFichier du point de restaurationFichier écrit
Linux/restore/home/paul/rapport.odt/restore/home/paul/rapport.odt
WindowsD:\Restore/C/Users/paul/rapport.docxD:\Restore\C\Users\paul\rapport.docx

L'agent crée le dossier cible quand il n'existe pas. Sur Linux, il le crée avec le compte root seulement. Sur Windows, il le crée pour SYSTEM et les Administrateurs seulement.

Quand le dossier choisi n'est pas vide, le portail écrit « Ce dossier n'est pas vide. » Avec Le remplacer s'il a changé, il écrit « Ce dossier n'est pas vide. Avec « Le remplacer s'il a changé », des fichiers peuvent être remplacés. »

Ce que le portail refuse comme dossier cible​

MessageCe que vous faites
« Tapez un chemin absolu (commence par /), sans « .. », pas la racine, 4 096 octets au plus. »Corrigez le chemin Linux.
« Tapez un chemin absolu comme D:\Restore, pas la racine d'un lecteur, sans « .. » ni nom réservé (CON, NUL…), 4 096 octets au plus. »Corrigez le chemin Windows.
« La racine d'un lecteur ne peut pas être la cible : choisissez un dossier à l'intérieur. »Descendez d'un niveau.
« Parcourir n'est pas encore disponible pour les agents », suivi du systèmeTapez le chemin à la main.

Restaurer à l'emplacement d'origine​

Choisissez ce scénario quand le client a perdu des fichiers et veut les retrouver à leur place.

  1. Sous Machine cible, gardez Cette machine, suivi du nom de la machine.
  2. Sous Emplacement, choisissez Emplacement d'origine.
  3. Sous Si un fichier existe déjà, choisissez Ne pas le toucher pour ne rendre que les fichiers absents, ou Le remplacer s'il a changé pour remettre aussi les fichiers modifiés.
  4. Cliquez Suivant : vérification.
  5. Vérifiez chaque ligne.
  6. Cliquez Lancer la restauration.

Chaque fichier revient à son chemin. Le portail écrit « Chaque fichier revient à son chemin. »

Dans ce mode, l'agent remet aussi les droits du point de restauration : le propriétaire, le groupe et les droits d'accès.

Sur une machine Windows, l'agent remet le propriétaire, le groupe et la liste de contrôle d'accès (ACL) du point de restauration. Dans le mode Dossier séparé, il ne les remet pas : les fichiers reçoivent les droits du dossier cible. Dans les deux modes, il remet les attributs lecture seule, caché, système, archive et non indexé, et la date de création. Il ne remet ni le chiffrement EFS, ni la compression, ni le caractère creux d'un fichier.

Le portail refuse l'emplacement d'origine dans deux cas :

MessageCause
« Impossible vers un autre client : les fichiers vont dans un dossier protégé. »La machine cible appartient à un autre client du MSP.
« Impossible vers une machine d'un autre système. »La machine cible n'a pas le même système que la machine source.

Sur une machine Windows, chaque élément de la sélection doit commencer par une lettre de lecteur. Un élément qui vient d'une sauvegarde Linux ne peut pas revenir à son emplacement d'origine sur Windows.

Remplacer un fichier seulement s'il a changé​

Le choix Le remplacer s'il a changé remplace un fichier dont la taille ou la date de modification est différente de celle du point de restauration. Un fichier de même taille et de même date est identique : l'agent ne le réécrit pas. Le portail l'écrit : « Même taille et même date : fichier identique, non réécrit. Rien n'est jamais supprimé. »

  1. À l'étape Destination, choisissez votre machine cible et votre emplacement.
  2. Sous Si un fichier existe déjà, choisissez Le remplacer s'il a changé.
  3. Cliquez Suivant : vérification.
  4. Lisez l'avertissement : « Les fichiers modifiés depuis le point de restauration seront remplacés. Rien n'est supprimé. »
  5. Cliquez Lancer la restauration.

La comparaison des dates se fait à la nanoseconde. Sur un système de fichiers qui garde des dates moins précises, comme FAT ou certains partages NFS, chaque fichier sélectionné est donc réécrit.

Sur Windows, un fichier qu'un programme garde ouvert n'est pas remplacé : la restauration le marque file_in_use et l'ancien fichier reste en place. Fermez le programme, puis restaurez de nouveau ce fichier. Voir Suivre et arrêter une restauration.

Restaurer sur une autre machine du client​

Choisissez ce scénario pour transférer les données d'une machine en panne vers une machine neuve.

  1. Sous Machine cible, choisissez Une autre machine du MSP.
  2. Cliquez Choisir une machine.
  3. Tapez un nom de machine ou un nom de client dans le champ de recherche. La liste groupe les machines par client. Le client de la machine source vient en premier, avec la mention « client de la source ».
  4. Lisez l'état de chaque ligne. Une machine qui ne peut pas recevoir la restauration porte sa cause : Hors ligne : la machine doit être connectée., Agent trop ancien, Suppression prévue le, suivi de la date, ou Accès révoqué.
  5. Cliquez une machine en ligne.
  6. Sous Emplacement, gardez Dossier séparé. C'est le choix proposé vers une autre machine.
  7. Vérifiez le Dossier cible proposé pour le système de la machine cible.
  8. Cliquez Suivant : vérification, puis Lancer la restauration.

Vers une autre machine du même client, l'emplacement d'origine reste possible quand les deux machines ont le même système. Le portail avertit alors :

  • sur Linux : « Les propriétaires des fichiers sont ceux de la machine source. Sur cette machine, ils peuvent correspondre à d'autres utilisateurs. » ;
  • sur Windows : « Les droits (ACL) des fichiers sont ceux de la machine source. Les comptes locaux de la machine source n'existent pas sur cette machine : seuls les comptes du domaine et les groupes connus gardent leurs droits. Pour une nouvelle machine, choisissez un dossier séparé. »

Restaurer sur une machine d'un autre client​

Une restauration vers une machine d'un autre client du MSP ajoute l'étape Confirmation.

  1. À l'étape Vérification, cliquez Suivant : confirmation.
  2. Lisez les deux clients affichés côte à côte, et le texte « Les données de », suivi du client source, « vont être copiées sur une machine de », suivi du client cible.
  3. Tapez le nom du client cible dans le champ. Les majuscules comptent.
  4. Cliquez Lancer la restauration.

La machine cible reçoit la clé de tous les points de restauration de la machine source pendant la restauration, et jusqu'à une heure après. Le journal d'audit garde cette confirmation. Voir Journal d'audit.

Cette restauration passe par le portail seulement. Une clé API et un assistant IA ne restaurent jamais vers une machine d'un autre client. L'emplacement d'origine n'est jamais possible vers un autre client.

Restaurer par l'API ou par un assistant IA​

  1. Appelez POST /endpoints/{id}/restores. L'identifiant du chemin est celui de la machine source.
  2. Donnez snapshot_id, le point de restauration de cette machine.
  3. Donnez paths, de 1 à 1 000 chemins du point de restauration. ["/"] restaure tout le point.
  4. Donnez target : {"mode": "original"} pour l'emplacement d'origine, ou {"mode": "directory", "path": "…"} pour un dossier.
  5. Ajoutez overwrite : never (valeur par défaut) ou if_changed.
  6. Ajoutez target_endpoint_id pour restaurer sur une autre machine. Sans ce champ, la machine cible est la machine source.
  7. Lisez la réponse 202 : elle donne restore_session_id. Suivez la restauration avec cet identifiant.

Un chemin contenu dans un autre chemin de la liste est retiré par l'API. Le chemin cible doit être écrit dans la forme du système de la machine cible.

Un même utilisateur lance dix demandes de restauration par minute au plus. Au-delà, l'API répond 429 avec le code rate_limited et l'en-tête Retry-After.

Un assistant IA utilise l'outil MCP start_restore. Par défaut, cet outil restaure dans un dossier daté, sans écraser aucun fichier. Le mode original et l'écrasement if_changed doivent être demandés. Cet outil ne restaure jamais vers une machine d'un autre client.

Quand la restauration ne part pas​

Le portail garde vos choix et affiche la cause sous le bouton Lancer la restauration.

MessageCe que vous faites
« … est hors ligne. Rien n'a été créé ni envoyé. »Connectez la machine cible, ou cliquez Choisir une autre machine.
« L'agent de … est trop ancien pour la restauration depuis le portail. »Mettez l'agent à jour, ou restaurez sur la machine en ligne de commande.
« Une restauration est déjà en cours sur … »Cliquez Voir la restauration en cours, attendez sa fin, puis relancez.
« Le stockage de la source est occupé (maintenance ou déplacement). Réessayez plus tard. »Réessayez plus tard.
« La machine source est en cours de suppression. »La restauration n'est plus possible depuis cette machine.
« La machine cible est en cours de suppression. »Choisissez une autre machine cible.
« L'emplacement d'origine n'est pas possible vers cette machine. »Revenez à l'étape Destination et choisissez un dossier séparé.
« Réessayez dans », suivi d'un nombre de secondesAttendez le délai, puis cliquez Réessayer.

Limites et précautions​

  • Une machine exécute une seule restauration à la fois. Une deuxième demande sur la même machine cible est refusée.
  • Une restauration porte 1 000 éléments au plus. Au-delà, sélectionnez le dossier parent.
  • Rien n'est jamais supprimé sur la machine cible. Un fichier qui n'est pas dans le point de restauration reste en place.
  • L'agent n'écrit pas dans les dossiers du système ni dans les siens. Sur Linux : /proc, /sys, /dev, /run, /etc/baastide, /var/lib/baastide et /var/cache/baastide. Sur Windows : le dossier BaaStide de %ProgramData%, celui de %ProgramFiles%, %SystemRoot% et System Volume Information. Un dossier cible dans ces emplacements est refusé.
  • Un dossier cible qui existe déjà doit appartenir à root sur Linux, et ne pas être modifiable par son groupe ni par les autres comptes. Sur Windows, il doit appartenir à SYSTEM, aux Administrateurs ou à TrustedInstaller, sans droit accordé à un autre compte.
  • Sur Linux, un dossier cible sur un montage en lecture seule est refusé.
  • Sur Windows, la machine cible accepte un lecteur fixe ou amovible en NTFS ou en ReFS. Un lecteur en FAT ou en exFAT est refusé : ces formats n'ont pas de droits d'accès. Un lecteur réseau et un lecteur créé avec subst dans une session d'utilisateur n'existent pas pour le service de l'agent.
  • Sur Windows, un nom de fichier que le système n'accepte pas, comme a:b, CON ou x., est ignoré avec tout son contenu. Deux noms du point de restauration qui ne diffèrent que par la casse ne donnent qu'un fichier : le premier dans l'ordre des octets.
  • Un lien n'est jamais suivi pendant une restauration. Un lien du point de restauration revient comme un lien. Sur Windows, une jonction revient comme un lien symbolique de dossier.
  • Le client peut couper les restaurations depuis le portail sur une machine. L'agent lit ce réglage à chaque ordre : aucun redémarrage n'est nécessaire. La commande baastide restore reste possible sur la machine.
  • La restauration d'un point de restauration de conteneur Proxmox va dans un dossier du nœud seulement, jamais dans le conteneur.
  • L'adresse de l'assistant ne porte que l'identifiant du point de restauration. Elle ne porte aucun chemin, aucune recherche et aucune sélection : ce sont des données du client.
  • Quitter l'assistant avec une sélection en cours demande une confirmation : « Quitter la restauration ? Votre sélection sera perdue. »
  • Le journal d'audit garde chaque demande de restauration, avec ses chemins, et la confirmation d'une restauration vers un autre client.
  • Un assistant IA ne restaure pas vers une machine qu'un assistant IA a enrôlée, pendant 24 heures. Un utilisateur lève ce délai dans le portail.

Référence​