Generieren eines Sicherungssatzes

Ein Sicherungssatz ist eine Liste aller zu sichernden Dateien, ihrer Speicherorte und deren Sicherung.

Ein Anforderer muss die Dateien verwenden, die auf den von Schatten kopierten Volumes enthalten sind, nachdem IVssBackupComponents::D oSnapshotSet erfolgreich zurückgegeben wird, um die vollständige Liste der zu sichernden Dateien zu generieren.

Darüber hinaus muss sich ein Anforderer mit der Möglichkeit befassen, dass einige Dateien alternative Pfade haben und dass einige Dateien ausgeschlossen wurden.

Ein Algorithmus für die Auswahl der zu sichernden Dateien sollte einen Writer instance von Writer instance, Komponenten für Komponenten verwenden (wie es bei der Wiederherstellung der Fall sein wird; siehe Generieren eines Wiederherstellungssatzes) und kann wie folgt fortfahren:

  1. Bestimmen der Volumes, die die Dateien des Writers und die entsprechenden Geräteobjekte enthalten
  2. Verwenden der Dateisatzinformationen (enthalten in IVssWMFiledesc-Objekten , die von IVssExamineWriterMetadata::GetExcludeFile zurückgegeben werden), um eine Liste der explizit ausgeschlossenen Dateien zu erstellen, falls erforderlich mithilfe von FindFileFirst, FindFileFirstEx und FindNextFile.
  3. Durchlaufen aller Komponenten eines Writers mithilfe von IVssExamineWriterMetadata::GetComponent. Wenn eine auswählbare Komponente ausgewählt ist, verwenden Sie den logischen Pfad , um diese nicht auswählbaren Komponenten abzurufen, die ihr in einem Komponentensatz zugeordnet sind. (Siehe Arbeiten mit Auswählbarkeit und logischen Pfaden.)
  4. Abrufen der Dateisätze , die in jeder ausgewählten Komponente enthalten sind, mithilfe der IVssWMComponent-Schnittstelle , die jeder enthaltenen Komponente entspricht.
  5. Generieren einer Liste von Dateien aus den Spezifikationen – bei Bedarf mithilfe von FindFileFirst, FindFileFirstEx und FindNextFile.
  6. Überprüfen Sie jede Datei in der Liste, die aus Komponenteninformationen generiert wurde, mit der Liste der ausgeschlossenen Dateien, die oben generiert wurden. Dies sollte mithilfe des Standardpfads für die Datei erfolgen (zurückgegeben von IVssWMFiledesc::GetPath), nicht über den alternativen Pfad, der von IVssWMFiledesc::GetAlternateLocation zurückgegeben wird. Wenn die Datei mit der ausgeschlossenen Liste übereinstimmt, wird sie nicht gesichert.
  7. Auswählen des tatsächlichen Speicherorts, von dem aus gesichert werden soll (unter Verwendung des alternativen Pfads, wenn er festgelegt wurde)
  8. An diesem Punkt ist eine vollständige Liste der Dateien und ihrer Speicherorte verfügbar, und eine Sicherung kann beginnen.

Nachdem ein anfänglicher Sicherungssatz für alle Autoren generiert wurde, die auf dem System vorhanden sind, überprüft der Anforderer den folgenden Registrierungsschlüssel:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\BackupRestore\FilesNotToBackup

Der Anforderer verwendet die Unterschlüssel unter diesem Schlüssel wie folgt:

  • Wenn ein Writer auf dem System vorhanden ist und ein Unterschlüssel vorhanden ist, dessen Name mit dem Namen des Schreibers übereinstimmt, muss dieser Unterschlüssel ignoriert werden.
  • Wenn ein Writer auf dem System vorhanden war, aber derzeit nicht im Sicherungssatz vorhanden ist und ein übereinstimmender Unterschlüssel vorhanden ist, werden alle dateien, die in den Unterschlüsseldaten angegeben sind, ausgeschlossen und müssen aus dem Sicherungssatz entfernt werden.
  • Die Sicherungsanwendung fügt den Unterschlüsseldaten Dateien hinzu, indem ein MULTI_SZ Wert erstellt wird, der eine Liste der Dateispezifikationen für die Dateien enthält, die nicht gesichert werden dürfen. Jede Zeichenfolge im MULTI_SZ Wert sollte eine Dateispezifikation enthalten.
  • Dateispezifikationen können das enthalten? und * Platzhalterzeichen. Eine Spezifikation kann rekursiv gemacht werden, indem /s an das Ende angefügt wird. Wenn Sie beispielsweise "%TEMP%\* /s" angeben, werden alle Dateien im Verzeichnis %TEMP% und alle zugehörigen Unterverzeichnisse nicht gesichert.