Copias de seguridad

Instantáneas de la configuración tomadas en caliente, una exportación que lleva las contraseñas guardadas a otra máquina, una restauración que se programa para el próximo arranque en lugar de aplicarse en vivo, y la reconstrucción del índice del histórico de ensayos.

Ver como Markdown

Copias de seguridad es la única fila del grupo DATOS de la página Ajustes. La tarjeta toma una copia de la configuración de la estación mientras todo sigue funcionando, escribe el único archivo que lleva también las contraseñas guardadas a otra máquina, enumera todo lo que guarda, programa una de esas copias para que sustituya a la configuración en el próximo arranque, y reconstruye el índice de los ensayos grabados cuando esa lista parece equivocada. Abre con "Guarde una instantánea de la configuración de la aplicación (dispositivos, tags, lógica, paneles de control, ajustes y las imágenes, los iconos y los símbolos de su biblioteca) para poder volver atrás. Los ensayos grabados y su histórico viven aparte, y ni una copia de seguridad ni una restauración los tocan nunca." La página exige el permiso Cambiar los ajustes.

Qué contiene una copia de seguridad

Una copia de seguridad es una copia en caliente de la base de datos de configuración, tomada con el mecanismo de copia de SQLite para que sea coherente aunque la aplicación esté escribiendo (con el registro de escritura anticipada incluido). Contiene todo lo que contiene esa base de datos: los dispositivos y los tags de los controladores, el espacio de direcciones de Logic (las variables con sus valores retenidos, las acciones, los disparadores, las alarmas), los paneles de control, los modelos de Process, las unidades, los procedimientos, las recetas, las evaluaciones y las plantillas, los usuarios y los roles locales, la configuración del servidor OPC UA, y los ajustes de esta página. Junto al archivo de la base de datos, la estación copia la carpeta de recursos del usuario (las imágenes, los iconos y los símbolos de su biblioteca) en una carpeta hermana, así que una restauración devuelve también las imágenes, y una nota opcional va a un archivo lateral.

Los archivos viven en la carpeta backups de la raíz de datos de la estación: config-20260902-141500.db (con un sufijo -2 si ese segundo ya tiene una), config-20260902-141500.assets y config-20260902-141500.db.note.json. Una exportación es un único archivo junto a ellos, config-export-20260902-141500.glabconfig.

Una copia de seguridad no contiene nunca los ensayos grabados y sus archivos, el índice del histórico de ensayos, el diario persistente de eventos, la marca de fallo, los archivos de diario, la posición y el zoom de la ventana, el almacén del testigo de la cuenta, ni los almacenes de certificados del servidor OPC UA. Las credenciales de dentro de la base de datos (los secretos de los dispositivos, la contraseña del servidor OPC UA) se guardan como texto cifrado ligado al usuario y a la máquina de Windows que las escribió: una copia de seguridad abierta en otro sitio restaura la configuración entera pero lee todas ellas como no configuradas, para volver a escribirlas. La exportación de más abajo es el único archivo que las lleva consigo.

Crear una copia de seguridad

Campo Qué es Valores / valor por defecto Efecto
Nota "Nota opcional guardada con la copia de seguridad o con la exportación", el campo que hay junto a los botones. Hasta 200 caracteres; vacío por defecto y vaciado después de cada copia de seguridad y de cada exportación. Se escribe en el archivo lateral de la nota de una copia y en la cabecera de una exportación, y se muestra bajo la fila de ese archivo.
Comando Qué hace Atenuado cuando (situación) No se dibuja cuando (rol)
Abrir la carpeta Abre la carpeta de copias de seguridad en el Explorador, creándola si hace falta. La ventana de la estación responde ella misma a la petición, y solo para una carpeta existente de esta instalación: cualquier otra cosa informa "Esa no es una carpeta que esta estación abra. No se abrió nada.", con las mismas palabras tanto si la carpeta está fuera de la instalación como si sencillamente no está, así que la respuesta no le dice a quien pregunta nada que no supiera ya. Una carpeta que Windows no abre informa "El sistema operativo no pudo abrirlo." En un navegador de otro dispositivo: "Solo disponible en el escritorio local de la estación." Nunca.
Crear una copia de seguridad Toma la instantánea y después informa de "Copia de seguridad 'config-….db' creada." en la barra de estado, o de "La copia de seguridad falló: …". Mientras se ejecuta otro comando de copia de seguridad (la tarjeta queda atenuada). Nunca.

Crear una copia de seguridad es trabajo de ingeniería de solo lectura: se ejecuta mientras una unidad está en marcha y no se solapa nunca con un cambio de configuración. Mientras el runtime está detenido, esta página no se dibuja siquiera (véase Ajustes), así que a ningún comando de copia de seguridad se llega hasta que el runtime vuelva. Una estación cuya base de datos de configuración todavía no existe se rechaza con "La base de datos de configuración todavía no existe."

Exportar para otra máquina

Bajo los botones de la copia de seguridad, un segundo bloque con título propio, Exportar para otra máquina, abre con la razón de que exista: "Una copia de seguridad deja atrás las contraseñas guardadas: las de los dispositivos y la del servidor OPC UA solo se abren en esta cuenta de Windows, en esta máquina. Una exportación es un único archivo que también las lleva, sellado con una contraseña que elige usted aquí, para que una máquina nueva se quede con la estación entera. Guarde esa contraseña en un sitio seguro: es lo único que abre el archivo, y aquí no se puede recuperar."

Campo Qué es Valores / valor por defecto Efecto
Contraseña para la exportación La contraseña con la que se sella el archivo, y lo único que volverá a abrirlo. Al menos 8 caracteres; vacío por defecto y vaciado después de cada exportación. Deriva la clave con la que se vuelve a sellar cada credencial guardada. No queda guardada en ningún sitio: una exportación cuya contraseña nadie recuerda no la puede abrir nadie, ni siquiera esta aplicación.
Repita la contraseña La misma contraseña otra vez, para que un desliz al escribir se vea antes de que el archivo esté escrito. Tiene que ser igual a la del campo de al lado. Nada por sí sola; Exportar sigue rechazado mientras las dos sean distintas.

El campo de nota de más arriba es el mismo: también viaja dentro de la exportación y se lee bajo su fila.

Comando Qué hace Atenuado cuando (situación) No se dibuja cuando (rol)
Exportar Escribe un config-export-20260902-141500.glabconfig en la misma carpeta backups e informa de "Exportación '…' creada con N credenciales guardadas." Una credencial que esta cuenta de Windows no pudo leer se cuenta aparte, en el tono de error: "Exportación '…' creada con N credenciales guardadas. M credenciales guardadas no se pudieron leer en esta cuenta de Windows y se quedaron atrás: vuelva a escribirlas en la máquina nueva." Mientras se ejecuta otro comando de copia de seguridad ("Todavía se está ejecutando otro comando de copia de seguridad."), mientras la contraseña tenga menos de ocho caracteres ("Elija una contraseña de al menos 8 caracteres para la exportación.") y mientras los dos campos sean distintos ("Las dos contraseñas son distintas."). Nunca: escribir una exportación exige el mismo permiso Cambiar los ajustes que la página ya exige, porque el archivo que produce es cada credencial que guarda la estación, bajo una contraseña que elige quien exporta.

La exportación es un archivo comprimido que lleva una copia coherente de la base de datos de configuración, los recursos del usuario que hay junto a ella, y una cabecera. Cada columna que la configuración protege se lee por el almacén de esta máquina a la salida y se vuelve a sellar bajo la contraseña de la exportación; la cabecera lleva la sal, el factor de trabajo y una constante sellada con la clave derivada, que basta para distinguir una contraseña correcta de una equivocada y nada más. Qué columnas viajan se lee de la propia configuración, así que una credencial añadida más tarde viaja sin que nadie tenga que acordarse de una lista. Escribir una exportación es trabajo de ingeniería de solo lectura, igual que una copia de seguridad, así que se ejecuta mientras una unidad está en marcha; y queda en el diario, porque una copia de cada credencial que guarda la estación acaba de salir del almacén.

Una exportación se restaura desde la lista de abajo, con el Restaurar de su fila. Eso pregunta "Restaurar desde una exportación": "'…' lleva la configuración de la máquina en la que se escribió y las contraseñas guardadas con ella. Escriba la contraseña con la que se escribió: las contraseñas pasan al almacén de esta máquina, y la configuración sustituye a la actual cuando reinicie la aplicación. La configuración actual se guarda sola antes, y los ensayos grabados no se ven afectados.", con un campo Contraseña de la exportación; Restaurar sigue rechazado mientras esté vacío ("Escriba la contraseña con la que se escribió esta exportación."). Una contraseña equivocada no escribe nada y deja el diálogo abierto, con la razón en la barra de estado, para que el siguiente intento esté ahí mismo: es la contraseña que se eligió en la máquina donde se escribió la exportación, y aquí no se puede recuperar. Una contraseña correcta abre la exportación en una copia de seguridad corriente de esta máquina, mete en el almacén de esta máquina las credenciales que llevaba, programa esa copia para el próximo arranque e informa de "'…' se abrió y sus contraseñas quedaron guardadas en esta máquina. La configuración se restaura en el próximo reinicio."; de ahí en adelante es la restauración corriente descrita más abajo, y la copia que queda en la lista es el registro de lo que llegó, así que la misma restauración se puede repetir más tarde sin la exportación ni su contraseña. El archivo de la exportación no se modifica nunca, así que el mismo archivo se sigue abriendo en una tercera máquina.

Ninguna de las dos mitades es cosa de un agente: no hay herramienta de exportación, ni manera de restaurar una exportación desde la página Agente, porque la contraseña es de quien opera la estación y una que un agente hubiera inventado o recibido viviría en una transcripción. backup_list marca una exportación (portableExport), y backup_restore la rechaza nombrando esta página: "'…' 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."

La lista

Las copias de seguridad y las exportaciones comparten una sola lista, de la más reciente a la más antigua, porque la pregunta que responden es la misma: cuál de estas restauro. Cada fila muestra cuándo se creó el archivo, en el formato de fecha y hora de la estación, después qué es (Copia de seguridad o Exportación para otra máquina), su nombre y su tamaño, y la nota cuando la hay. El tamaño es todo lo que ocupa ese archivo, que es todo lo que libera eliminarlo: en una copia de seguridad, la copia de la base de datos, su nota y su instantánea de recursos, cuyas imágenes son la mitad más grande en una estación que las usa; en una exportación, el archivo comprimido único. La lista se lee al abrirse la página y después de cada comando de aquí, así que una copia de seguridad que un agente creó a través de la página Agente aparece la próxima vez que se abra la página.

Comando Qué hace Atenuado cuando (situación) No se dibuja cuando (rol)
Restaurar En una copia de seguridad pregunta "Restaurar la configuración": "¿Programar '…' para que sustituya a la configuración actual cuando se reinicie la aplicación? La configuración actual se guardará sola antes. Los ensayos grabados no se ven afectados.", con Sí y Cancelar. Sí programa la restauración e informa de "'…' se restaurará en el próximo reinicio." En una exportación es la misma decisión y pide la contraseña en su lugar, en el diálogo descrito más arriba. Mientras una unidad está en marcha ("La configuración está bloqueada mientras una unidad está en marcha."). Nunca.
Eliminar Pregunta "Eliminar la copia de seguridad": "¿Eliminar para siempre la copia de seguridad '…'? Esta acción no se puede deshacer." Sí quita la copia de la base de datos, su nota y su instantánea de recursos, e informa de "Copia de seguridad '…' eliminada." A una exportación se la nombra por lo que es y por lo que se va con ella, "Eliminar la exportación": "¿Eliminar para siempre la exportación '…'? Las contraseñas que lleva se van con ella. Esto no se puede deshacer.", y después "Exportación '…' eliminada." Nunca mientras esta página está dibujada. Nunca.

Restaurar se rechaza, con el motivo en la barra de estado, cuando hay una grabación activa ("Hay una grabación activa. Deténgala antes de programar una restauración de la configuración."), cuando el archivo no es una copia de seguridad de configuración ("'…' no es una copia de seguridad de configuración de Ganter Lab y no se puede restaurar."), y cuando lo escribió una base de datos que esta versión no conoce, como una versión más nueva ("'…' no es una copia de seguridad de configuración que esta versión de Ganter Lab pueda restaurar. Puede que pertenezca a otra base de datos, o a una versión más nueva de la aplicación."). Eliminar rechaza la copia que está programada: "'…' está programada para restaurarse. Cancele antes la restauración pendiente." La retención es suya: aquí no se elimina ninguna copia por su cuenta, y un agente puede crear y enumerar copias de seguridad pero nunca eliminar una.

Restauración programada

Al programarla se escribe un marcador en la raíz de datos, y la tarjeta muestra el aviso de precaución Restauración programada: "'…' se restaurará cuando reinicie la aplicación. La configuración actual se guarda sola antes.", con un botón Cancelar que quita el marcador e informa de "Restauración pendiente cancelada.". Nada cambia hasta que la aplicación vuelve a arrancar.

En el arranque siguiente, antes de que nada abra la configuración, la aplicación valida el archivo otra vez, toma una instantánea de la configuración que va a sustituir como config-pre-restore-<marca de tiempo>.db con la nota "Instantánea automática tomada antes de restaurar '…'." y su propia copia de recursos (así que una restauración es a su vez reversible), cambia el archivo de la base de datos, restaura la instantánea de recursos cuando la copia llevaba una, y borra el marcador. Un arranque que tiene un ensayo de Process que reanudar lo aplaza en cambio: la restauración sigue programada con el motivo "La restauración sigue programada porque un ensayo de Process tiene que reanudarse con la configuración actual." y se aplica en un arranque posterior. Un archivo de copia de seguridad que desapareció, o que no pasa la validación, se informa y el marcador se borra para que los arranques siguientes no se queden retenidos. Una vez cambiada la base de datos, la restauración cuenta como aplicada aunque falle un paso posterior, como la copia de los recursos; ese fallo se informa como advertencia nombrando dónde se guardaron las imágenes anteriores.

Configuración restaurada: hay que revisarla

Tras una restauración aplicada, la tarjeta muestra un segundo aviso de precaución, Configuración restaurada: hay que revisarla: "Revise los ajustes, los modelos, las unidades, los procedimientos, los códigos, los contadores y las colas de las impresoras de etiquetas restaurados; compruebe los Históricos; reconstruya el índice del histórico de ensayos solo si la lista del histórico falta o es incoherente." Se queda hasta que usted pulse Descartar. Una restauración no hace ninguna conciliación por su cuenta: los nombres de las colas vuelven como configuración, pero las impresoras de Windows no se descubren ni se corrigen, y los contadores son los que llevaba la copia de seguridad.

Reconstruir el índice del histórico de ensayos

Comando Qué hace Atenuado cuando (situación) No se dibuja cuando (rol)
Reconstruir "Rehace la lista de ensayos grabados leyendo los archivos de ensayo. Úselo si la lista del histórico parece incompleta después de una restauración o de mover archivos. Los propios archivos de ensayo son la fuente de la verdad." Informa de "Índice del histórico reconstruido: N recuperados, N eliminados, N ilegibles (N archivos de ensayo)." Mientras se ejecuta otro comando de copia de seguridad. Nunca.

El nuevo análisis devuelve su entrada a un archivo de ensayo que no la tenía en el índice (a partir de la instantánea congelada del propio ensayo, o como ensayo fallido si la aplicación murió a mitad del ensayo), tira las entradas cuyo archivo ya no está, reconstruye las proyecciones de productividad a partir de todos los archivos legibles, y salta un .db ajeno o corrupto tras identificarlo en solo lectura, contándolo como ilegible sin modificarlo. Después actualiza las instantáneas de productividad que muestra la página Process. No toca nunca la evidencia grabada de un archivo de ensayo.

Lo que esta sección no hace

No hay copia de seguridad automática ni programada, ni política de retención, ni copia de seguridad a otra ubicación (copie los archivos de la carpeta), ni restauración parcial, ni restauración del histórico de ensayos: los ensayos grabados son archivos propios bajo la raíz de datos, y el índice se reconstruye a partir de ellos. La exportación tampoco es una copia de seguridad a otra ubicación: se escribe en la misma carpeta, y llevarla hasta la máquina que la espera sigue siendo cosa suya. Importar y exportar ensayos se hace en la página Históricos.