Backup
Istantanee della configurazione prese a caldo, un'esportazione che porta le password memorizzate su un'altra macchina, un ripristino programmato per l'avvio successivo invece che applicato dal vivo, e la ricostruzione dell'indice dello storico delle prove.
Backup è l'unica riga del gruppo DATI della pagina Impostazioni. La scheda prende una copia della configurazione della stazione mentre tutto continua a funzionare, scrive l'unico file che porta con sé anche le password memorizzate su un'altra macchina, elenca tutto ciò che tiene, programma una di quelle copie per sostituire la configurazione all'avvio successivo e ricostruisce l'indice delle prove registrate quando quell'elenco sembra sbagliato. Si apre con "Crea un'istantanea della configurazione dell'applicazione (dispositivi, tag, logica, dashboard, impostazioni e le immagini, le icone e i simboli della libreria) per poter tornare indietro. Le prove registrate e il loro storico vivono separatamente e non sono mai toccati da un backup o da un ripristino." La pagina richiede il permesso Modificare le impostazioni.
Che cosa contiene un backup
Un backup è una copia a caldo del database di configurazione, presa con il meccanismo di backup di SQLite, quindi coerente anche mentre l'applicazione scrive (diario di scrittura anticipata compreso). Contiene tutto ciò che quel database contiene: i dispositivi e i tag dei driver, lo spazio degli indirizzi di Logic (le variabili con i loro valori conservati, le azioni, gli attivatori, gli allarmi), le dashboard, i modelli di Process, le unità, le procedure, le ricette, le valutazioni e i modelli di documento, gli utenti locali e i ruoli, la configurazione del server OPC UA e le impostazioni di questa pagina. Accanto al file del database la stazione copia la cartella delle risorse dell'utente (le immagini, le icone e i simboli della libreria) in una cartella sorella, così un ripristino riporta indietro anche le figure, e una nota facoltativa finisce in un file affiancato.
I file vivono nella cartella backups della radice dei dati della stazione: config-20260902-141500.db (con un suffisso -2 se quel secondo ne ha già uno), config-20260902-141500.assets e config-20260902-141500.db.note.json. Un'esportazione è un unico file accanto a loro, config-export-20260902-141500.glabconfig.
Un backup non contiene mai le prove registrate e i loro file, l'indice dello storico delle prove, il diario duraturo degli eventi, il segno di arresto anomalo, i file di diario, la posizione e lo zoom della finestra, l'archivio dei token dell'account né gli archivi dei certificati del server OPC UA. Le credenziali dentro il database (i segreti dei dispositivi, la password del server OPC UA) sono memorizzate come testo cifrato legato all'utente e alla macchina Windows che le ha digitate: un backup aperto altrove ripristina l'intera configurazione ma legge ciascuna di esse come non configurata, da digitare di nuovo. L'esportazione qui sotto è l'unico file che le porta con sé.
Creare un backup
| Campo | Che cos'è | Valori / predefinito | Effetto |
|---|---|---|---|
| Nota | "Nota facoltativa memorizzata con il backup o l'esportazione", il campo accanto ai pulsanti. | Fino a 200 caratteri; vuoto per impostazione predefinita e svuotato dopo ogni backup e ogni esportazione. | Scritta nel file affiancato della nota di un backup e nell'intestazione di un'esportazione, e mostrata sotto la riga di quel file. |
| Comando | Che cosa fa | In grigio quando (situazione) | Non disegnato quando (ruolo) |
|---|---|---|---|
| Apri la cartella | Apre la cartella dei backup in Esplora file, creandola se serve. La finestra della stazione risponde da sé alla richiesta, e soltanto per una cartella esistente di questa installazione: qualsiasi altra cosa riferisce "Questa non è una cartella che questa stazione apre. Non è stato aperto nulla.", con le stesse parole sia che la cartella stia fuori dall'installazione sia che semplicemente non ci sia, così la risposta non dice a chi chiede nulla che non sapesse già. Una cartella che Windows non apre riferisce "Il sistema operativo non è riuscito ad aprirlo." | In un browser su un altro dispositivo: "Disponibile solo sul desktop locale della stazione." | Mai. |
| Crea backup | Prende l'istantanea, poi riferisce "Backup 'config-….db' creato." nella barra di stato, oppure "Backup non riuscito: …". | Mentre è in esecuzione un altro comando di backup (la scheda è attenuata). | Mai. |
Creare un backup è lavoro di progettazione in sola lettura: gira mentre un'unità è in prova e non si sovrappone mai a una modifica della configurazione. Mentre il runtime è fermo questa pagina non viene disegnata affatto (vedere Impostazioni), quindi nessun comando di backup si può raggiungere finché il runtime non è tornato. Una stazione il cui database di configurazione non esiste ancora viene rifiutata con "The configuration database does not exist yet."
Esportazione per un'altra macchina
Sotto i pulsanti del backup, un secondo blocco con un titolo suo, Esportazione per un'altra macchina, si apre con il motivo per cui esiste: "Un backup lascia indietro le password memorizzate: le password dei dispositivi e la password del server OPC UA si aprono solo su questo account Windows, su questa macchina. Un'esportazione è un unico file che porta con sé anche quelle, sigillato con una password scelta qui, così una nuova macchina rileva la stazione per intero. Conservare quella password in un luogo sicuro: è l'unica cosa che apre il file e non può essere recuperata da qui."
| Campo | Che cos'è | Valori / predefinito | Effetto |
|---|---|---|---|
| Password per l'esportazione | La password con cui il file viene sigillato, e l'unica cosa che tornerà ad aprirlo. | Almeno 8 caratteri; vuoto per impostazione predefinita e svuotato dopo ogni esportazione. | Deriva la chiave con cui ogni credenziale memorizzata viene sigillata di nuovo. Non viene conservata da nessuna parte: un'esportazione la cui password nessuno ricorda non può essere aperta da nessuno, questa applicazione compresa. |
| Ripeti la password | La stessa password un'altra volta, così un errore di battitura si vede prima che il file sia scritto. | Deve essere identica al campo accanto. | Da sola nulla; Esporta resta rifiutato finché le due sono diverse. |
Il campo della nota qui sopra è lo stesso: viaggia anche dentro l'esportazione e si legge sotto la sua riga.
| Comando | Che cosa fa | In grigio quando (situazione) | Non disegnato quando (ruolo) |
|---|---|---|---|
| Esporta | Scrive un config-export-20260902-141500.glabconfig nella stessa cartella backups e riferisce "Esportazione '…' creata con N credenziali memorizzate." Una credenziale che questo account Windows non è riuscito a leggere viene contata a parte, nel tono di un errore: "Esportazione '…' creata con N credenziali memorizzate. M credenziali memorizzate non hanno potuto essere lette su questo account Windows e sono rimaste indietro: reinserirle sulla nuova macchina." |
Mentre è in esecuzione un altro comando di backup ("È ancora in esecuzione un altro comando di backup."), finché la password è più corta di otto caratteri ("Scegliere una password di almeno 8 caratteri per l'esportazione.") e finché i due campi sono diversi ("Le due password sono diverse."). | Mai: scrivere un'esportazione richiede lo stesso permesso Modificare le impostazioni che la pagina richiede già, perché il file che ne esce è ogni credenziale che la stazione tiene, sotto una password scelta da chi esporta. |
L'esportazione è un archivio che porta una copia coerente del database di configurazione, le risorse dell'utente accanto a esso e un'intestazione. Ogni colonna che la configurazione protegge viene letta attraverso l'archivio protetto di questa macchina all'uscita e sigillata di nuovo con la password dell'esportazione; l'intestazione porta il sale, il fattore di lavoro e una costante sigillata con la chiave derivata, il che basta a distinguere una password giusta da una sbagliata e nient'altro. Quali colonne viaggiano si legge dalla configurazione stessa, quindi una credenziale aggiunta più tardi viaggia senza che nessuno debba ricordare un elenco. Scrivere un'esportazione è lavoro di progettazione in sola lettura, esattamente come un backup, quindi gira mentre un'unità è in prova; e finisce nel diario, perché una copia di ogni credenziale che la stazione tiene ha appena lasciato l'archivio protetto.
Un'esportazione si ripristina dall'elenco qui sotto, con il Ripristina della sua riga. Questo chiede "Ripristina da un'esportazione": "'…' porta con sé la configurazione della macchina su cui è stato scritto e le password memorizzate con essa. Digitare la password con cui è stato scritto: le password vengono inserite nell'archivio protetto di questa macchina e la configurazione sostituisce quella attuale al riavvio dell'applicazione. La configurazione attuale viene salvata automaticamente prima e le prove registrate non sono toccate.", con un campo Password dell'esportazione; Ripristina resta rifiutato finché è vuoto ("Digitare la password con cui è stata scritta questa esportazione."). Una password sbagliata non scrive nulla e lascia la finestra aperta, con il motivo nella barra di stato, così il tentativo successivo è lì: è la password scelta sulla macchina su cui l'esportazione è stata scritta, e da qui non si può recuperare. Una password giusta apre l'esportazione in un backup ordinario di questa macchina, mette le credenziali che portava nell'archivio protetto di questa macchina, programma quel backup per l'avvio successivo e riferisce "'…' è stato aperto e le sue password sono state memorizzate su questa macchina. La configurazione viene ripristinata al riavvio successivo."; da lì in poi è il ripristino ordinario descritto sotto, e il backup che resta nell'elenco è la traccia di ciò che è arrivato, quindi lo stesso ripristino si può ripetere più tardi senza l'esportazione né la sua password. Il file dell'esportazione non viene mai modificato, quindi lo stesso file si apre ancora su una terza macchina.
Nessuna delle due metà spetta a un agente: non esiste uno strumento di esportazione né un modo di ripristinare un'esportazione dalla pagina Agente, perché la password è di chi usa la stazione e una password inventata da un agente o consegnata a un agente vivrebbe in una trascrizione. backup_list contrassegna un'esportazione (portableExport) e backup_restore la rifiuta nominando questa pagina: "'…' 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."
L'elenco
I backup e le esportazioni condividono un unico elenco, dal più recente, perché la domanda a cui rispondono è la stessa: quale di questi ripristino. Ogni riga mostra quando il file è stato creato, nei formati di data e di ora della stazione, poi che cosa è (Backup della configurazione o Esportazione per un'altra macchina), il suo nome e la sua dimensione, e la nota quando c'è. La dimensione è tutto ciò che quel file occupa, che è tutto ciò che eliminandolo si libera: per un backup, la copia del database, la sua nota e la sua istantanea delle risorse, le cui immagini sono la metà più grande su una stazione che le usa; per un'esportazione, l'unico archivio. L'elenco viene letto quando la pagina si apre e dopo ogni comando dato qui, quindi un backup che un agente ha creato attraverso la pagina Agente compare alla prossima apertura della pagina.
| Comando | Che cosa fa | In grigio quando (situazione) | Non disegnato quando (ruolo) |
|---|---|---|---|
| Ripristina | Su un backup chiede "Ripristina la configurazione": "Programmare '…' per sostituire la configurazione attuale al riavvio dell'applicazione? La configurazione attuale viene salvata automaticamente prima. Le prove registrate non sono toccate.", con Sì e Annulla. Sì programma il ripristino e riferisce "'…' verrà ripristinato al riavvio successivo." Su un'esportazione è la stessa decisione e chiede invece la password, nella finestra descritta sopra. | Mentre un'unità è in prova ("La configurazione è bloccata mentre un'unità è in esecuzione."). | Mai. |
| Elimina | Chiede "Elimina il backup": "Eliminare definitivamente il backup '…'? L'operazione non è reversibile." Sì rimuove la copia del database, la sua nota e la sua istantanea delle risorse, e riferisce "Backup '…' eliminato." Un'esportazione è nominata per ciò che è e per ciò che se ne va con lei, "Elimina l'esportazione": "Eliminare definitivamente l'esportazione '…'? Le password che porta con sé se ne vanno con essa. L'operazione non è reversibile.", poi "Esportazione '…' eliminata." | Mai finché questa pagina è disegnata. | Mai. |
Ripristina è rifiutato, con il motivo nella barra di stato, quando una registrazione è attiva ("A recording is active. Stop it before scheduling a configuration restore."), quando il file non è affatto un backup della configurazione ("'…' is not a Ganter Lab configuration backup and cannot be restored.") e quando è stato scritto da un database che questa versione non conosce, per esempio una versione più recente ("'…' is not a configuration backup this version of Ganter Lab can restore. It may belong to another database, or to a newer version of the application."). Elimina rifiuta il backup che è programmato: "'…' is scheduled to be restored. Cancel the pending restore first." La conservazione è affare di chi usa la stazione: qui non si elimina nessun backup da solo, e un agente può creare ed elencare i backup ma non ne può mai eliminare uno.
Ripristino programmato
Programmare scrive un segno nella radice dei dati, e la scheda mostra l'avviso di attenzione Ripristino programmato: "'…' verrà ripristinato al riavvio dell'applicazione. La configurazione attuale viene salvata automaticamente prima.", con un pulsante Annulla che rimuove il segno e riferisce "Ripristino in attesa annullato.". Non cambia nulla finché l'applicazione non riparte.
All'avvio successivo, prima che qualsiasi cosa apra la configurazione, l'applicazione convalida di nuovo il file, prende un'istantanea della configurazione che sta per essere sostituita come config-pre-restore-<marca temporale>.db con la nota "Automatic snapshot taken before restoring '…'." e la sua copia delle risorse (così un ripristino è a sua volta reversibile), scambia il file del database, ripristina l'istantanea delle risorse quando il backup ne portava una, e cancella il segno. Un avvio che ha una prova di Process da riprendere rinvia invece: il ripristino resta programmato con il motivo "The restore remains scheduled because a Process run must resume with the current configuration." e si applica a un avvio successivo. Un file di backup sparito, oppure che non supera la convalida, viene riferito e il segno viene cancellato, così gli avvii seguenti non restano bloccati. Una volta scambiato il database il ripristino conta come applicato anche se un passo successivo, come la copia delle risorse, non riesce; quel fallimento viene riferito come avviso, nominando dove sono state salvate le immagini precedenti.
Configurazione ripristinata: verifica necessaria
Dopo un ripristino applicato la scheda mostra un secondo avviso di attenzione, Configurazione ripristinata: verifica necessaria: "Verificare le impostazioni ripristinate, i Modelli, le Unità, le Procedure, i codici, i contatori e le code delle stampanti di etichette; controllare gli Storici; ricostruire l'indice dello storico delle prove solo se l'elenco è mancante o incoerente." Resta finché non si preme Chiudi. Un ripristino non riconcilia nulla per conto proprio: i nomi delle code tornano come configurazione, ma le stampanti di Windows non vengono rilevate né corrette, e i contatori sono quelli che il backup conteneva.
Ricostruisci l'indice dello storico delle prove
| Comando | Che cosa fa | In grigio quando (situazione) | Non disegnato quando (ruolo) |
|---|---|---|---|
| Ricostruisci | "Ricostruisce l'elenco delle prove registrate analizzando i file delle prove. Usarlo se l'elenco dello storico sembra incompleto dopo un ripristino o uno spostamento di file. I file delle prove sono la fonte di verità." Riferisce "Indice dello storico ricostruito: N recuperate, N rimosse, N illeggibili (N file di prova)." | Mentre è in esecuzione un altro comando di backup. | Mai. |
La nuova scansione restituisce la sua voce a un file di prova che non ne ha una nell'indice (dall'istantanea congelata propria della prova, oppure come prova fallita se l'applicazione è morta a metà prova), toglie le voci il cui file non c'è più, ricostruisce le proiezioni di produttività da ogni file leggibile, e salta un .db estraneo o danneggiato dopo averlo identificato in sola lettura, contandolo come illeggibile senza modificarlo. Aggiorna poi le istantanee di produttività che mostra la pagina Process. Non tocca mai le evidenze registrate di un file di prova.
Ciò che questa sezione non fa
Non c'è nessun backup automatico o programmato, nessuna politica di conservazione, nessun backup in un'altra posizione (basta copiare i file dalla cartella), nessun ripristino parziale e nessun ripristino dello storico delle prove: le prove registrate sono file a sé sotto la radice dei dati, e l'indice si ricostruisce da essi. Nemmeno l'esportazione è un backup in un'altra posizione: viene scritta nella stessa cartella, e portarla fino alla macchina che la aspetta resta a carico di chi usa la stazione. L'importazione e l'esportazione delle prove si fanno nella pagina Storici.