Partager via


Génération d’un jeu de sauvegarde

Un jeu de sauvegarde est une liste de tous les fichiers à sauvegarder, de leurs emplacements et de la façon de les sauvegarder.

Un demandeur doit utiliser les fichiers contenus dans les volumes copiés en ombre une fois que les IVssBackupComponents::D oSnapshotSet sont retournés pour générer la liste complète des fichiers à sauvegarder.

En outre, un demandeur doit gérer la possibilité que certains fichiers aient d’autres chemins d’accès et que certains fichiers aient été exclus.

Un algorithme de sélection des fichiers à sauvegarder doit être utilisé sur un enregistreur instance par enregistreur instance, composant par composant (comme ce sera le cas lors de la restauration ; voir Génération d’un jeu de restauration) et peut procéder comme suit :

  1. Détermination des volumes qui contiennent les fichiers de l’enregistreur et les objets d’appareil correspondants
  2. Utilisation des informations du jeu de fichiers ( contenues dans les objets IVssWMFiledescretournés par IVssExamineWriterMetadata::GetExcludeFile) pour créer une liste des fichiers explicitement exclus, si nécessaire à l’aide de FindFileFirst, FindFileFirstEx et FindNextFile.
  3. Itération sur tous les composants d’un enregistreur à l’aide d’IVssExamineWriterMetadata::GetComponent. Si un composant sélectionnable est sélectionné, utilisez le chemin d’accès logique pour obtenir les composants non sélectionnables qui lui sont associés dans un ensemble de composants. (Voir Utilisation de la sélection et des chemins logiques.)
  4. Obtention des jeux de fichiers contenus dans chaque composant sélectionné à l’aide de l’interface IVssWMComponent correspondant à chaque composant qu’il contient.
  5. Génération d’une liste de fichiers à partir des spécifications, si nécessaire à l’aide de FindFileFirst, FindFileFirstEx et FindNextFile.
  6. Vérification de chaque fichier de la liste généré à partir des informations de composant par rapport à la liste des fichiers exclus générés ci-dessus. Pour ce faire, utilisez le chemin par défaut du fichier (retourné par IVssWMFiledesc::GetPath), et non par le chemin d’accès de remplacement retourné par IVssWMFiledesc::GetAlternateLocation. Si le fichier correspond à la liste exclue, il n’est pas sauvegardé.
  7. Choix de l’emplacement réel à partir duquel sauvegarder (à l’aide du chemin d’accès alternatif s’il a été défini)
  8. À ce stade, une liste complète des fichiers et de leurs emplacements est disponible et une sauvegarde peut commencer.

Une fois qu’un jeu de sauvegarde initial a été généré pour tous les rédacteurs présents sur le système, le demandeur vérifie la clé de Registre suivante :

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\BackupRestore\FilesNotToBackup

Le demandeur utilise les sous-clés sous cette clé comme suit :

  • Si un enregistreur est présent sur le système et qu’il existe une sous-clé dont le nom correspond au nom de l’enregistreur, cette sous-clé doit être ignorée.
  • Si un enregistreur était présent sur le système, mais qu’il est actuellement absent du jeu de sauvegarde et qu’il existe une sous-clé correspondante, tous les fichiers spécifiés dans les données de sous-clé sont exclus et doivent être supprimés du jeu de sauvegarde.
  • L’application de sauvegarde ajoute des fichiers aux données de sous-clé en créant une valeur MULTI_SZ contenant une liste de spécifications de fichiers pour les fichiers qui ne doivent pas être sauvegardés. Chaque chaîne de la valeur MULTI_SZ doit contenir une spécification de fichier.
  • Les spécifications de fichier peuvent contenir le ? et * caractères génériques. Une spécification peut être rendue récursive en ajoutant /s à la fin. Par exemple, si vous spécifiez « %TEMP%\* /s », tous les fichiers du répertoire %TEMP% et tous ses sous-répertoires ne sont pas sauvegardés.