Sicherungen

Momentaufnahmen der Konfiguration im laufenden Betrieb, ein Export, der die gespeicherten Passwörter auf einen anderen Rechner mitnimmt, eine Wiederherstellung, die für den nächsten Start eingeplant statt sofort angewendet wird, und der Neuaufbau des Index der Laufhistorie.

Als Markdown ansehen

Sicherungen ist die eine Zeile der Gruppe DATEN auf der Seite Einstellungen. Die Karte nimmt eine Kopie der Konfiguration der Station, während alles weiterläuft, schreibt die eine Datei, die auch die gespeicherten Passwörter auf einen anderen Rechner mitnimmt, führt alles auf, was sie hält, plant eine dieser Kopien ein, um die Konfiguration beim nächsten Start zu ersetzen, und baut den Index der aufgezeichneten Läufe neu auf, wenn diese Liste falsch aussieht. Sie öffnet mit "Legt eine Momentaufnahme der Konfiguration der Anwendung an (Geräte, Tags, Logic, Dashboards, Einstellungen und die Bilder, Icons und Symbole Ihrer Bibliothek), damit Sie zurückgehen können. Aufgezeichnete Läufe und ihre Historie liegen getrennt davon und werden von einer Sicherung oder Wiederherstellung nie berührt." Die Seite braucht die Berechtigung Einstellungen ändern.

Was eine Sicherung enthält

Eine Sicherung ist eine Kopie der Konfigurationsdatenbank im laufenden Betrieb, mit dem Sicherungsverfahren von SQLite genommen, damit sie auch beim Schreiben der Anwendung in sich stimmig ist (das Write-Ahead-Log eingeschlossen). Sie hält alles, was diese Datenbank hält: die Geräte und Tags der Treiber, den Adressraum von Logic (Variablen mit ihren gehaltenen Werten, Aktionen, Auslöser, Alarme), Dashboards, Modelle, Einheiten, Abläufe, Rezepte, Bewertungen und Vorlagen von Process, lokale Benutzer und Rollen, die Konfiguration des OPC UA-Servers und die Einstellungen dieser Seite. Neben der Datenbankdatei kopiert die Station den Ordner der Benutzer-Assets (die Bilder, Icons und Symbole Ihrer Bibliothek) in einen Ordner daneben, damit eine Wiederherstellung auch die Bilder zurückbringt, und eine mögliche Notiz geht in eine Begleitdatei.

Die Dateien wohnen im Ordner backups der Datenwurzel der Station: config-20260902-141500.db (mit dem Zusatz -2, wenn diese Sekunde schon eine hat), config-20260902-141500.assets und config-20260902-141500.db.note.json. Ein Export ist eine einzelne Datei daneben, config-export-20260902-141500.glabconfig.

Eine Sicherung enthält nie aufgezeichnete Läufe und ihre Dateien, den Index der Laufhistorie, das dauerhafte Ereignisjournal, die Marke eines Absturzes, die Protokolldateien, Fensterlage und Zoom, den Speicher der Kontositzung oder die Zertifikatsspeicher des OPC UA-Servers. Zugangsdaten in der Datenbank (Geheimnisse von Geräten, das Passwort des OPC UA-Servers) liegen als Chiffrat, gebunden an den Windows-Benutzer und den Rechner, die sie eingegeben haben: eine anderswo geöffnete Sicherung stellt die ganze Konfiguration wieder her, liest aber jedes davon als nicht hinterlegt, zur erneuten Eingabe. Der Export weiter unten ist die eine Datei, die sie mitnimmt.

Eine Sicherung anlegen

Feld Was es ist Werte / Vorgabe Wirkung
Notiz "Optionale Notiz, die mit der Sicherung oder dem Export gespeichert wird", das Feld neben den Schaltflächen. Bis zu 200 Zeichen; leer als Vorgabe und nach jeder Sicherung und jedem Export geleert. Wird in die Begleitdatei einer Sicherung und in den Kopf eines Exports geschrieben und unter der Zeile dieser Datei gezeigt.
Befehl Was er tut Ausgegraut, wenn (Situation) Nicht gezeichnet, wenn (Rolle)
Ordner öffnen Öffnet den Ordner der Sicherungen im Explorer und legt ihn bei Bedarf an. Das Fenster der Station beantwortet die Anfrage selbst, und nur für einen vorhandenen Ordner dieser Installation: alles andere meldet "Das ist kein Ordner, den diese Station öffnet. Es wurde nichts geöffnet.", mit denselben Worten, ob der Ordner außerhalb der Installation liegt oder schlicht nicht da ist, sodass die Antwort dem Fragenden nichts sagt, was er nicht schon wusste. Ein Ordner, den Windows nicht öffnet, meldet "Das Betriebssystem konnte es nicht öffnen." In einem Browser auf einem anderen Gerät: "Nur in der lokalen Desktop-Anwendung der Station verfügbar." Nie.
Sicherung anlegen Nimmt die Momentaufnahme und meldet dann "Die Sicherung 'config-….db' wurde angelegt." in der Statusleiste, oder "Sicherung fehlgeschlagen: …". Solange ein anderer Befehl der Sicherungen läuft (die Karte ist gedämpft). Nie.

Eine Sicherung anzulegen ist eine lesende Arbeit an der Konfiguration: sie läuft, während eine Einheit läuft, und überschneidet sich nie mit einer Änderung der Konfiguration. Solange die Runtime gestoppt ist, wird diese Seite gar nicht gezeichnet (siehe Einstellungen), es lässt sich also kein Befehl der Sicherungen erreichen, bis die Runtime zurück ist. Eine Station, deren Konfigurationsdatenbank noch nicht besteht, wird mit "Die Konfigurationsdatenbank besteht noch nicht." abgelehnt.

Export für einen anderen Rechner

Unter den Schaltflächen der Sicherung steht ein zweiter Block mit eigener Überschrift, Export für einen anderen Rechner, und er beginnt mit dem Grund, aus dem es ihn gibt: "Eine Sicherung lässt die gespeicherten Passwörter zurück: Gerätepasswörter und das Passwort des OPC UA-Servers öffnen sich nur unter diesem Windows-Konto, auf diesem Rechner. Ein Export ist eine einzige Datei, die auch sie trägt, versiegelt mit einem Passwort, das Sie hier wählen, damit ein neuer Rechner die Station vollständig übernimmt. Bewahren Sie dieses Passwort sicher auf: Es ist das Einzige, was die Datei öffnet, und es lässt sich hier nicht wiederherstellen."

Feld Was es ist Werte / Vorgabe Wirkung
Passwort für den Export Das Passwort, mit dem die Datei versiegelt wird, und das Einzige, was sie je wieder öffnet. Mindestens 8 Zeichen; leer als Vorgabe und nach jedem Export geleert. Leitet den Schlüssel ab, unter dem jede gespeicherte Anmeldeinformation neu versiegelt wird. Es wird nirgends abgelegt: Ein Export, dessen Passwort niemand erinnert, lässt sich von niemandem öffnen, auch von dieser Anwendung nicht.
Passwort wiederholen Dasselbe Passwort noch einmal, damit ein Vertipper auffällt, bevor die Datei geschrieben wird. Muss mit dem Feld daneben übereinstimmen. Für sich nichts; Exportieren bleibt abgelehnt, solange die beiden abweichen.

Das Feld für die Notiz weiter oben ist dasselbe: Sie reist auch im Export mit und steht unter dessen Zeile.

Befehl Was er tut Ausgegraut, wenn (Situation) Nicht gezeichnet, wenn (Rolle)
Exportieren Schreibt eine config-export-20260902-141500.glabconfig in denselben Ordner backups und meldet "Export '…' mit N gespeicherte Anmeldeinformationen angelegt." Eine Anmeldeinformation, die dieses Windows-Konto nicht lesen konnte, wird getrennt gezählt, im Ton eines Fehlers: "Export '…' mit N gespeicherte Anmeldeinformationen angelegt. M gespeicherte Anmeldeinformationen konnten unter diesem Windows-Konto nicht gelesen werden und blieben zurück: Geben Sie sie auf dem neuen Rechner erneut ein." Solange ein anderer Befehl der Sicherungen läuft ("Ein anderer Sicherungsbefehl läuft noch."), solange das Passwort kürzer als acht Zeichen ist ("Wählen Sie für den Export ein Passwort mit mindestens 8 Zeichen.") und solange die beiden Felder abweichen ("Die beiden Passwörter stimmen nicht überein."). Nie: Einen Export zu schreiben verlangt dieselbe Berechtigung Einstellungen ändern, die die Seite ohnehin verlangt, denn die Datei, die dabei entsteht, ist jede Anmeldeinformation der Station unter einem Passwort, das ihr Verfasser wählt.

Der Export ist ein Archiv, das eine in sich stimmige Kopie der Konfigurationsdatenbank, die Benutzer-Assets daneben und einen Kopf trägt. Jede Spalte, die die Konfiguration schützt, wird auf dem Weg hinaus durch den Tresor dieses Rechners gelesen und unter dem Passwort des Exports neu versiegelt; der Kopf trägt das Salz, den Arbeitsfaktor und eine mit dem abgeleiteten Schlüssel versiegelte Konstante, was reicht, um ein richtiges Passwort von einem falschen zu unterscheiden, und sonst nichts. Welche Spalten mitreisen, wird aus der Konfiguration selbst gelesen, eine später hinzugekommene Anmeldeinformation reist also mit, ohne dass jemand eine Liste erinnern muss. Einen Export zu schreiben ist eine lesende Arbeit an der Konfiguration, genau wie eine Sicherung, sie läuft also, während eine Einheit läuft; und sie steht im Journal, denn eine Kopie jeder Anmeldeinformation der Station hat gerade den Tresor verlassen.

Ein Export wird über die Liste weiter unten eingespielt, mit Wiederherstellen in seiner Zeile. Das fragt "Aus einem Export wiederherstellen": "'…' trägt die Konfiguration des Rechners, auf dem er geschrieben wurde, und die damit gespeicherten Passwörter. Geben Sie das Passwort ein, mit dem er geschrieben wurde: Die Passwörter kommen in den Tresor dieses Rechners, und die Konfiguration ersetzt die aktuelle, wenn Sie die Anwendung neu starten. Die aktuelle Konfiguration wird vorher automatisch gesichert, und aufgezeichnete Läufe bleiben unberührt.", mit einem Feld Passwort des Exports; Wiederherstellen bleibt abgelehnt, solange es leer ist ("Geben Sie das Passwort ein, mit dem dieser Export geschrieben wurde."). Ein falsches Passwort schreibt nichts und lässt den Dialog offen, mit dem Grund in der Statusleiste, damit der nächste Versuch gleich dort ist: Es ist das Passwort, das auf dem Rechner gewählt wurde, auf dem der Export geschrieben wurde, und hier lässt es sich nicht wiederherstellen. Ein richtiges öffnet den Export in eine gewöhnliche Sicherung dieses Rechners, legt die mitgeführten Anmeldeinformationen in den Tresor dieses Rechners, plant diese Sicherung für den nächsten Start ein und meldet "'…' wurde geöffnet, und die Passwörter wurden auf diesem Rechner gespeichert. Die Konfiguration wird beim nächsten Neustart wiederhergestellt."; von da an ist es die gewöhnliche Wiederherstellung weiter unten, und die Sicherung, die in der Liste bleibt, ist der Beleg dessen, was angekommen ist, dieselbe Wiederherstellung lässt sich also später ohne den Export und ohne sein Passwort wiederholen. Die Exportdatei selbst wird nie verändert, dieselbe Datei öffnet sich also auch auf einem dritten Rechner.

Keine der beiden Hälften gehört einem Agenten: Es gibt kein Werkzeug zum Exportieren und keinen Weg, einen Export über die Seite Agentenzugriff einzuspielen, denn das Passwort gehört dem Bedienenden, und eines, das ein Agent erfunden oder bekommen hätte, stünde in einem Gesprächsprotokoll. backup_list kennzeichnet einen Export (portableExport), und backup_restore lehnt ihn ab und nennt dabei diese Seite: "'…' is a configuration export for another machine. It carries its stored passwords sealed under the password chosen when it was written, so it is restored from Settings, Backups, where that password can be typed."

Die Liste

Sicherungen und Exporte stehen in einer Liste, mit der jüngsten zuerst, denn die Frage, die sie beantworten, ist dieselbe: Welche davon spiele ich ein. Jede Zeile zeigt, wann die Datei angelegt wurde, im Datums- und Zeitformat der Station, dann was sie ist (Sicherung oder Export für einen anderen Rechner), ihren Namen und ihre Größe sowie die Notiz, wenn es eine gibt. Die Größe ist alles, was diese Datei belegt, also alles, was ihr Löschen freigibt: bei einer Sicherung die Kopie der Datenbank, ihre Notiz und ihre Momentaufnahme der Assets, deren Bilder auf einer Station, die sie nutzt, die größere Hälfte sind; bei einem Export das eine Archiv. Die Liste wird beim Öffnen der Seite und nach jedem Befehl hier gelesen, eine Sicherung, die ein Agent über die Seite Agentenzugriff angelegt hat, erscheint also beim nächsten Öffnen der Seite.

Befehl Was er tut Ausgegraut, wenn (Situation) Nicht gezeichnet, wenn (Rolle)
Wiederherstellen Bei einer Sicherung fragt er "Konfiguration wiederherstellen": "'…' einplanen, um die aktuelle Konfiguration beim Neustart der Anwendung zu ersetzen? Die aktuelle Konfiguration wird vorher automatisch gesichert. Aufgezeichnete Läufe sind nicht betroffen.", mit Ja und Nein. Ja plant die Wiederherstellung ein und meldet "'…' wird beim nächsten Neustart eingespielt." Bei einem Export ist es dieselbe Entscheidung, und er fragt stattdessen nach dem Passwort, im Dialog weiter oben. Solange eine Einheit läuft ("Die Konfiguration ist gesperrt, solange eine Einheit läuft."). Nie.
Löschen Fragt "Sicherung löschen": "Die Sicherung '…' endgültig löschen? Das lässt sich nicht rückgängig machen." Ja entfernt die Kopie der Datenbank, ihre Notiz und ihre Momentaufnahme der Assets und meldet "Die Sicherung '…' wurde gelöscht." Ein Export wird benannt nach dem, was er ist, und nach dem, was mit ihm geht, "Export löschen": "Den Export '…' endgültig löschen? Die Passwörter, die er trägt, gehen mit. Das lässt sich nicht rückgängig machen.", danach "Export '…' gelöscht." Nie, solange diese Seite gezeichnet wird. Nie.

Das Wiederherstellen wird abgelehnt, mit dem Grund in der Statusleiste, wenn eine Aufzeichnung läuft ("Eine Aufzeichnung läuft. Stoppen Sie sie, bevor Sie eine Wiederherstellung der Konfiguration einplanen."), wenn die Datei gar keine Sicherung der Konfiguration ist ("'…' ist keine Sicherung der Konfiguration von Ganter Lab und lässt sich nicht einspielen.") und wenn sie von einer Datenbank geschrieben wurde, die diese Version nicht kennt, etwa von einer neueren Ausgabe ("'…' ist keine Sicherung der Konfiguration, die diese Version von Ganter Lab einspielen kann. Sie gehört womöglich zu einer anderen Datenbank oder zu einer neueren Version der Anwendung."). Das Löschen lehnt die Sicherung ab, die eingeplant ist: "'…' ist zum Einspielen eingeplant. Brechen Sie die wartende Wiederherstellung zuerst ab." Wie lange Sie Sicherungen halten, ist Ihre Sache: nichts hier löscht Sicherungen von selbst, und ein Agent kann Sicherungen anlegen und auflisten, aber nie eine löschen.

Wiederherstellung eingeplant

Das Einplanen schreibt eine Marke in die Datenwurzel, und die Karte zeigt den Hinweis in Vorsichtsfarbe Wiederherstellung eingeplant: "'…' wird eingespielt, sobald Sie die Anwendung neu starten. Die aktuelle Konfiguration wird vorher automatisch gesichert.", mit einer Schaltfläche Abbrechen, die die Marke entfernt und "Die wartende Wiederherstellung wurde abgebrochen." meldet. Es ändert sich nichts, bis die Anwendung erneut startet.

Beim nächsten Start, bevor irgendetwas die Konfiguration öffnet, prüft die Anwendung die Datei erneut, nimmt eine Momentaufnahme der zu ersetzenden Konfiguration als config-pre-restore-<timestamp>.db mit der Notiz "Automatische Momentaufnahme vor dem Einspielen von '…'." samt eigener Kopie der Assets (eine Wiederherstellung ist damit selbst umkehrbar), tauscht die Datenbankdatei, spielt die Momentaufnahme der Assets ein, wenn die Sicherung eine trug, und löscht die Marke. Ein Start, der einen Lauf von Process fortsetzen muss, verschiebt stattdessen: die Wiederherstellung bleibt eingeplant, mit dem Grund "Die Wiederherstellung bleibt eingeplant, weil ein Lauf von Process mit der aktuellen Konfiguration fortgesetzt werden muss.", und wird bei einem späteren Start angewendet. Eine Sicherungsdatei, die verschwunden ist oder die Prüfung nicht besteht, wird gemeldet, und die Marke wird gelöscht, damit die nächsten Starts nicht aufgehalten werden. Sobald die Datenbank getauscht ist, gilt die Wiederherstellung als angewendet, auch wenn ein späterer Schritt scheitert, etwa die Kopie der Assets; dieser Fehlschlag wird als Warnung gemeldet und nennt, wo die vorherigen Bilder gesichert wurden.

Konfiguration wiederhergestellt: bitte prüfen

Nach einer angewendeten Wiederherstellung zeigt die Karte einen zweiten Hinweis in Vorsichtsfarbe, Konfiguration wiederhergestellt: bitte prüfen: "Prüfen Sie die wiederhergestellten Einstellungen, Modelle, Einheiten, Abläufe, Codes, Zähler und Warteschlangen der Etikettendrucker; prüfen Sie die Historien; bauen Sie den Index der Laufhistorie nur neu auf, wenn die Liste der Historie fehlt oder unstimmig ist." Er bleibt, bis Sie Ausblenden drücken. Eine Wiederherstellung gleicht von sich aus nichts ab: Namen von Warteschlangen kommen als Konfiguration zurück, aber Windows-Drucker werden nicht gesucht und nicht berichtigt, und die Zähler sind das, was die Sicherung hielt.

Index der Laufhistorie neu aufbauen

Befehl Was er tut Ausgegraut, wenn (Situation) Nicht gezeichnet, wenn (Rolle)
Neu aufbauen "Baut die Liste der aufgezeichneten Läufe neu auf, indem die Laufdateien durchsucht werden. Nutzen Sie das, wenn die Liste der Historie nach einer Wiederherstellung oder einem Verschieben von Dateien unvollständig aussieht. Die Laufdateien selbst sind die Quelle der Wahrheit." Meldet "Index der Historie neu aufgebaut: N wiedergewonnen, N entfernt, N nicht lesbar (N Laufdateien)." Solange ein anderer Befehl der Sicherungen läuft. Nie.

Der erneute Suchlauf gibt einer Laufdatei ohne Eintrag im Index ihren Eintrag zurück (aus der eigenen eingefrorenen Momentaufnahme des Laufs oder als fehlgeschlagener Lauf, wenn die Anwendung mitten im Lauf gestorben ist), lässt Einträge fallen, deren Datei fort ist, baut die Auswertungen zur Produktivität aus jeder lesbaren Datei neu auf und überspringt eine fremde oder beschädigte .db, nachdem er sie nur lesend erkannt hat, und zählt sie als nicht lesbar, ohne sie zu ändern. Danach frischt er die Momentaufnahmen zur Produktivität auf, die die Seite Process zeigt. Die aufgezeichneten Nachweise einer Laufdatei rührt er nie an.

Was dieser Abschnitt nicht tut

Es gibt keine automatische und keine geplante Sicherung, keine Aufbewahrungsregel, keine Sicherung an einen anderen Ort (kopieren Sie die Dateien aus dem Ordner), keine teilweise Wiederherstellung und keine Wiederherstellung der Laufhistorie: aufgezeichnete Läufe sind eigene Dateien unter der Datenwurzel, und der Index wird aus ihnen neu aufgebaut. Auch der Export ist keine Sicherung an einen anderen Ort: Er wird in denselben Ordner geschrieben, und ihn zu dem Rechner zu tragen, der ihn braucht, bleibt Ihre Sache. Läufe zu importieren und zu exportieren geschieht auf der Seite Historien.