Backup and Recovery

Der Abschnitt beschreibt Vorgehensweisen zur Sicherung und Wiederherstellung der Daten mit Applikationsmitteln.

Allgemeines

Natürlich muss ein Server-System im Produktionseinsatz auch ein Datensicherungskonzept haben. Es wird davon ausgegenagen, dass für das Betriebssystem und die daran angeschlossenen Plattensysteme eine systemseitige Backup-Strategie vorliegt, welche auch die verwendeten SQL-Datenbanken berücksichtigt. MyCoRe ist inzwischen so konzipiert, dass für einen großen Teil der erforderlichen Sicherheit diese Strategie ausreicht.

Neben dem Backup ist auch eine Konsitenzprüfung der Datenbestandteile möglich. Somit können Fehler in einzelnen Strukturbereichen der Anwendung gefunden und behoben werden. Dem widment sich der Abschnitte Konsistenzprüfung . Dieses Kapitel hingegen beschäftigt sich vor allem mit dem Ausspielen des Gesamtdatenbestandes. Das nachfolgende Schema soll einen Überblick über die einzelnen Teilbereiche geben.

Beschreibung des Bildes

Abbildung 1: Recovery-Struktur einer MyCoRe-Anwendung

Backupkommandos

Ein weiterer Schritt zur Sicherung der daten ist das komplette Auslesen des Datenbestandes und die Speicherung auf einem externen (ggf. Netzwerk-) Filesystem. Mit dieser Methode lassen sich auch Migrationen durchführen. Die MyCoRe Kommandozeile hält dafür einige Kommandos bereit, welche die Daten in definierte Verzeichnisse ablegen. Ggf. können die Kommandos auch in Scripte eingebaut werden und über cron-Jobs zyklisch gestartet werden. Neben den eigentlichen Daten können auch Benutzerinformationen und Klassifikationen gesichert werden.

Export für MyCoRe-Objekte

export object {0} to directory {1} with {2}
Stores the MCRObject with the MCRObjectID {0} to the directory {1} with the stylesheet {2}-object.xsl. For {2} save is the default.
export all objects of type {0} to directory {1} with {2}
Stores all MCRObjects of type {0} to directory {1} with the stylesheet mcr_{2}-object.xsl. For {2} save is the default.
export all objects of base {0} to directory {1} with {2}
Stores all MCRObjects of base {0} to directory {1} with the stylesheet mcr_{2}-object.xsl. For {2} save is the default.
export object from {0} to {1} to directory {2} with {3}
Stores all MCRObjects with MCRObjectID's between {0} and {1} to the directory {2} with the stylesheet {3}-object.xsl. For {3} save is the default.

Export für MyCoRe-Derivate

export derivate {0} to directory {1} with {2}
The command store the derivate with the MCRObjectID {0} to the directory {1} with the stylesheet {2}-object.xsl. For {2} save is the default.
export derivate from {0} to {1} to directory {2} with {3}
The command store all derivates with MCRObjectID's between {0} and {1} to the directory {2} with the stylesheet {3}-object.xsl. For {3} save is the default.
export all derivates of project {0} to directory {1} with {2}
Stores all derivates of project {0} to the directory {1} with the stylesheet mcr_{2}-derivate.xsl. For {2} save is the default.
export all derivates to directory {0} with {1}
Stores all derivates to the directory {0} with the stylesheet mcr_{1}-derivate.xsl. For {1} save is the default.

Export für MyCoRe-Klassifikationen

export classification {0} to directory {1} with {2}
The command exports the classification with MCRObjectID {0} as xml file to directory named {1} using the stylesheet {2}-object.xsl. For {2} save is the default.
export all classifications to directory {0} with {1}
The command store all classifications to the directory with name {0} with the stylesheet {1}-object.xsl. For {1} save is the default.

Export für MyCoRe-Benutzer und Zugriffsrechte

export user {0} to file {1}
Exports the data of user {0} to the file {1}.
export all users to directory {0}
Exports the data of all users to the directory {0}.
export all permissions to file {0}
Export all permissions from the Access Control System to the file {0}.

Recoverykommandos

Die mittels der Export-Kommandos gesicherten Daten können im Bedarfsfall wieder in ein ggf. neu erstelltes System über die MyCoRe Kommandozeile eingespielt werden. Dabei sollte die nachfolgende Reihenfolge eingehalten werden.

  1. Laden der Klassifikationen
  2. Laden der Nutzer
  3. Laden der Zugriffsrechte
  4. Laden der MyCoRe-Objekte (vorzugsweise unter Berücksichtigung der Eltern-Kind-Bezieheung)
  5. Laden der MyCoRe-Derivate

Import für MyCoRe-Objekte

load object from file {0}
Adds a MCRObject from the file {0} to the system.
load all objects from directory {0}
Loads all MCRObjects from the directory {0} to the system.
load all objects in topological order from directory {0}
Loads all MCRObjects form the directory {0} to the system respecting the order of parents and children.
update object from file {0}
Updates a MCRObject from the file {0} in the system.
update all objects from directory {0}
Updates all MCRObjects from the directory {0} in the system.
update all objects in topological order from directory {0}
Updates all MCRObjects from the directory {0} in the system respecting the order of parents and children.

Import für MyCoRe-Derivate

load derivate from file {0}
The command add a derivate form the file {0} to the system.
load all derivates from directory {0}
The command load all derivates form the directory {0} to the system.

Import für MyCoRe-Klassifikationen

load classification from file {0}
The command adds a new classification from file {0} to the system.
load all classifications from directory {0}
The command add all classifications in the directory {0} to the system.
update classification from file {0}
The command updates a classification from file {0} to the system.
update all classifications from directory {0}
The command update all classifications in the directory {0} to the system.

Import für MyCoRe-Benutzer und Zugriffsrechte

import user from file {0}
Imports a user from file {0}.
import all users from directory {0}
Imports all users from directory {0}.
load permissions data from file {0}
The command loads the permissions data of the access control system with data from the file {0}.
update permission {0} for id {1} with rulefile {2} described by {3}
The command updates access rule for a given id of a given permission with a given special rule
update permission {0} for id {1} with rulefile {2}
The command updates access rule for a given id of a given permission with a given special rule

 Jens Kupferschmidt - 2015-03-05