Zum Inhalt

Konsistentes Backup erstellen

Eine erzwungenes Backup, während sich die Anwendung im Modus RUN befindet, kann inkonsistent sein, da die CODESYS-Runtime weiterhin auf Dateien im Dateisystem der Steuerung zugreift, während das Backup erstellt wird.

Das System bietet keinen Mechanismus zur Erstellung eines atomaren Snapshots aller Dateien zu einem einzigen Zeitpunkt an. Stattdessen werden die Dateien nacheinander gelesen, und ihr Zustand kann sich zwischen dem Lesen der einzelnen Dateien ändern.

CODESYS empfiehlt generell, die Anwendung in den STOP-Zustand zu versetzen, bevor ein Backup durchgeführt wird.

Mögliche Inkonsistenzen

Bestimmen Sie je nach Ihrem spezifischen Anwendungsfall, ob die hier beschriebenen Inkonsistenzen für Ihren Zweck akzeptabel sind.

Gültigkeitsbereich Risiko
Persistente Daten Gespeicherte Werte können einen anderen Zeitpunkt widerspiegeln als der gespeicherte Anwendungscode. Bei einer Wiederherstellung stimmen die Variablenwerte möglicherweise nicht mehr mit dem aktuellen Zustand des Programms überein.
Boot-Applikation Wenn während des Backups online eine Änderung durchgeführt wird, kann die APP-Datei in einem Übergangszustand gespeichert werden.
Externe Dateien Projektabhängige Dateien können sich während des Lesevorgangs ändern, wenn die Anwendung aktiv auf sie zugreift.

Entscheidung: Backup in STOP oder in RUN?

Ob ein Backup im Modus STOP durchgeführt werden muss oder im Modus RUN erstellt werden kann, hängt von der jeweiligen Anwendung ab.

Ein Backup im Zustand RUN kann ausreichend sein, wenn:

  • das Ziel lediglich die Versionierung des Anwendungscodes ist (z. B. um Programmänderungen zu verfolgen),
  • für eine vollständige Wiederherstellung keine Retain- oder Persistent-Daten erforderlich sind,
  • während des Backup-Fensters online keine Änderungen durchgeführt werden,
  • ein möglicherweise inkonsistentes Backup besser ist als gar kein Backup (z. B. bei Systemen, die nicht planmäßig heruntergefahren werden können).

Ein Backup im STOP-Modus wird empfohlen, wenn:

  • eine vollständige und konsistente Wiederherstellung der Anwendung, einschließlich aller aufbewahrten/persistenten Daten, gewährleistet sein muss (z. B. für Disaster Recovery),
  • die Anwendung sicherheitskritische Funktionen ausführt, bei denen inkonsistente Daten zu Fehlfunktionen führen können,
  • das Backup als Referenz für die Validierung oder Qualifizierung dient (z. B. im regulierten Bereich),
  • mehrere Anwendungen auf dem Controller laufen und ihre Zustände miteinander konsistent sein müssen.