Copia de seguridad y restauración

Las copias de seguridad tienen una aplicación propia. Viene con el sistema y la instalación la configura, así que no hay nada que comprar ni nada que configurar. Este bloque muestra qué guarda, cuándo se ejecuta y cómo lo recuperas todo cuando hace falta. Todo este bloque forma parte de Basic.

1

La aplicación de copia de seguridad y restauración

La aplicación se llama «Ticket System Backup & Restore». Está junto al sistema de tickets y tiene su propio acceso directo en el escritorio.

Hay una versión para Windows y otra para Linux. Es la misma aplicación, solo compilada para cada sistema operativo.

Tiene seis pestañas. «Restore» enumera las copias que tienes, «Create Backup» crea una nueva, «Schedule» se ocupa de la programación, «Encryption» muestra la clave de recuperación, «Settings» muestra las rutas y «Log» el registro.

Los ajustes ya vienen rellenos. En su primer arranque, la aplicación averigua por sí misma dónde vive el sistema de tickets.

La carpeta de las copias está en «Backup directory». Puedes cambiarla, por ejemplo a otra unidad.

En Windows, la aplicación pide permisos de administrador al arrancar. Sus ajustes valen para todos los administradores del ordenador y están en «%ProgramData%\SMITEY\backup-app».

La pestaña «Restore» con cinco copias, cada una con hora, tamaño, tipo y cifrado.
El marco rojo señala la columna «Encryption». Las copias nuevas terminan en «.smbk» y están «Encrypted». Las copias antiguas en formato ZIP muestran «Not encrypted». La columna «Type» dice si una copia salió de la programación, se hizo a mano o se tomó antes de una actualización.Abrir la imagen a tamaño completo
La pestaña «Settings» con la carpeta de las copias y los datos de la base de datos.
El marco rojo señala el nombre del contenedor de PostgreSQL. Más abajo están los volúmenes que se guardan también.Abrir la imagen a tamaño completo
2

La programación funciona desde el momento de instalar

Antes de empezar: En Windows, la aplicación siempre arranca con permisos de administrador y registra la programación con esos permisos. Si Windows no deja que la tarea se ejecute sin un usuario con la sesión iniciada, queda ligada a un inicio de sesión, y la aplicación te lo advierte.

La instalación configura por sí sola la copia diaria. Se ejecuta a las 23:00 en la zona horaria del sistema de tickets.

La programación vive en el sistema operativo. En Windows es el Programador de tareas y en Linux el servicio cron. Así no hay ningún servicio adicional funcionando solo para las copias.

La copia no necesita que haya nadie con la sesión iniciada. En un servidor en el que nunca se conecta nadie se ejecuta igualmente.

La línea que hay bajo los botones te dice si la tarea existe de verdad en el sistema operativo. Una casilla marcada solo dice lo que se guardó.

Las copias se conservan en cinco niveles: 14 días, 4 semanas, 12 meses, 4 trimestres y 5 años. Una copia se mantiene mientras sea la más reciente de su periodo en uno de esos niveles.

Lo que cuenta son días naturales, no archivos. Dos copias en un mismo día son un día.

Las copias que creas a mano no se borran nunca automáticamente. Eso significa el 0 de «Keep manual».

Si cambias la programación, tu cambio sobrevive a una actualización. La instalación solo la define si nunca has definido una programación. Si desactivaste la copia de seguridad, sigue desactivada. «Remove all scheduled tasks» también se mantiene: una actualización no vuelve a crear la programación después.

La pestaña «Schedule» con «Daily» marcado y la hora fijada en las 23:00.
Los marcos rojos señalan «Daily» y la hora. La frase de encima nombra ambas vías: el Programador de tareas y cron.Abrir la imagen a tamaño completo
La línea «Registered with the operating system: yes (Daily)» bajo los botones.
Esta línea se comprueba en cada arranque. Si dice «NO», no se ejecuta nada por sí solo; entonces usa «Apply schedule» como administrador.Abrir la imagen a tamaño completo
Los seis campos de conservación: 14, 4, 12, 4, 5 y 0.
El marco rojo señala los niveles. «Keep manual (0 = keep all)» significa que las copias hechas a mano se conservan.Abrir la imagen a tamaño completo
La pestaña «Schedule» después de «Apply schedule», con «02:00 (America/New_York)» y «Registered with the operating system: yes (Daily)» debajo.
Los marcos rojos están sobre «Apply schedule» y sobre las líneas de debajo. Entre paréntesis aparece la zona horaria del sistema de tickets. La hora vale en esa zona y no en la zona horaria del equipo.Abrir la imagen a tamaño completo
3

Qué contiene una copia de seguridad

Una copia contiene todo lo que compone el estado de tu sistema. Es decir, la base de datos, los archivos adjuntos, los archivos guardados y las claves. Solo falta una base de datos fuera de SMITEY.

Las claves son la parte que es fácil pasar por alto. Descifran las credenciales guardadas, por ejemplo las de tu cuenta de correo. Sin ellas, una restauración volvería con credenciales muertas.

Cada copia nueva es un único archivo cifrado con la terminación «.smbk». Contiene un archivo por volumen, una lista de su contenido y la base de datos como archivo de texto, si está incluida.

El sistema sigue funcionando mientras tanto. Tus agentes ni siquiera notan una copia.

«Estimate size» te dice de antemano cuánto ocupa la base de datos. Los volúmenes con los adjuntos se suman a ella. La copia no se comprime.

No se sobrescribe nunca nada. Cada copia es un archivo propio, y solo la limpieza retira las antiguas.

Solo los administradores pueden leer las copias de seguridad. Lo mismo vale para el archivo de configuración y para el archivo con el primer acceso en la carpeta de instalación. El instalador y cada actualización establecen estos permisos por sí solos.

Si tu base de datos funciona en su propio servidor y no en el contenedor de SMITEY, la aplicación no puede hacerle una copia de seguridad. Haz entonces su copia con tus propias herramientas. En ese caso la copia contiene solo los adjuntos, los archivos guardados y las claves, cifrados como siempre. Una actualización detecta sola una base de datos así y cambia el ajuste de la aplicación. Hasta entonces la copia diaria falla en una instalación así, salvo que antes lo cambies a mano. En la línea de comandos también puedes hacerlo a mano con «config --database external». Con «config --database bundled» vuelves al ajuste anterior.

Más sobre esto en la tarjeta: Cifrado y clave de recuperación

La pestaña «Create Backup» con los botones «Estimate size» y «Create backup now».
El marco rojo señala ambos botones. La frase de encima enumera lo que se incluye.Abrir la imagen a tamaño completo
El mensaje del final con la ruta completa del archivo creado.
Cuando está hecho, el nombre del archivo aparece al final de la ventana. La hora forma parte del nombre.Abrir la imagen a tamaño completo
4

Cifrado y clave de recuperación

Antes de empezar: Guarda la clave de recuperación fuera del servidor. Sin ella no se puede abrir ninguna copia cuando se pierde el servidor. Nadie puede recuperarla por ti.

Cada copia nueva está cifrada. Esto vale para las copias de la programación, las hechas a mano y las anteriores a una actualización. No tienes que activar nada.

Las copias se cifran con AES-256. La instalación crea la clave por sí misma. En una instalación existente se crea con la primera actualización a una versión con cifrado. Se guarda protegida en el servidor. Solo los administradores pueden leerla.

Esto protege las copias fuera del servidor. Quien encuentre una copia en una unidad de red, en una memoria USB o en un almacenamiento en línea no puede leerla sin la clave. Quien controla el propio servidor también tiene la clave.

La clave de recuperación es la misma clave en una forma que puedes anotar. Empieza por «SMBK-». La encuentras en la pestaña «Encryption» y en el archivo «SMITEY-credentials.txt» de la carpeta de instalación. Si borraste ese archivo, la clave sigue estando en la pestaña «Encryption».

«Copy» pone la clave en el portapapeles. «Save to file...» la guarda con el ID de clave y la fecha en un archivo de texto. Guárdalo, por ejemplo, en un gestor de contraseñas o en papel en una caja fuerte.

Hasta que confirmes que la clave está guardada, la aplicación muestra una barra amarilla arriba. Para confirmar, haz clic en «I stored the key outside this server» y responde a la pregunta con «Yes». La barra desaparece entonces. Después la pestaña muestra cuándo confirmaste.

El ID de clave te dice a qué servidor pertenece una copia. Si una copia no pertenece a este servidor, la aplicación nombra su ID de clave. Después pide la clave de recuperación correspondiente.

Si la aplicación no puede leer la clave, no hace ninguna copia. Tampoco hace una sin cifrar. En ese caso la pestaña «Encryption» indica que la clave no se puede leer. Si falta del todo el archivo de la clave, la siguiente copia crea una clave nueva. La barra amarilla vuelve a aparecer entonces, porque la clave nueva también hay que guardarla. Las copias más antiguas solo se pueden abrir con la clave de recuperación antigua.

Las copias más antiguas en formato ZIP no están cifradas. Todavía puedes restaurarlas. La pestaña muestra cuántas hay. La limpieza las elimina con las mismas reglas que a cualquier otra copia.

En un servidor sin escritorio, «key --show» muestra lo mismo en la línea de comandos.

Más sobre esto en la tarjeta: Cómo recuperarlo todo, En un servidor sin escritorio

La pestaña «Encryption» con la clave de recuperación, el ID de clave y tres botones. La barra amarilla de aviso está arriba.
Los marcos rojos señalan la barra de aviso, la clave y el ID de clave y «I stored the key outside this server». La clave de la imagen procede de un entorno de pruebas.Abrir la imagen a tamaño completo
La misma pestaña después de la confirmación, sin la barra de aviso.
El marco superior señala la hora de la confirmación. El inferior muestra cuántas copias siguen sin cifrar.Abrir la imagen a tamaño completo
5

Recuperarlo todo

Antes de empezar: Una restauración sobrescribe el estado actual. Todo lo creado desde la copia elegida desaparece después.

En la pestaña «Restore» eliges la copia que quieres recuperar. Después pulsas «Restore».

La aplicación pregunta primero. Dice lo que va a ocurrir: el estado actual se sobrescribe y la aplicación reinicia los contenedores. Si hay personas anonimizadas en el estado actual, sigue una segunda pregunta. Indica cuántas son y pregunta si deben anonimizarse de nuevo después de la restauración. «Yes» está preseleccionado. Con «No» la copia se restaura sin este paso. Si en su lugar cierras la ventana, no se restaura nada.

La marca «Wipe target volumes before restore» vacía antes los volúmenes. Así no queda ningún archivo que no existiera cuando se hizo la copia.

Los pasos aparecen en la pestaña «Log». Ahí ves uno a uno lo que hizo la aplicación. Si respondiste «Yes» a la segunda pregunta, una línea al final dice cuántas anonimizaciones vuelve a aplicar el sistema de tickets la noche siguiente. Si no se pueden traspasar, el registro muestra en su lugar una advertencia. Si hubo advertencias, la línea de estado en la parte inferior de la ventana indica cuántas.

Si la copia contiene la base de datos, vuelve el estado completo. Los tickets, los comentarios, el historial, los archivos adjuntos, el tiempo registrado y la base de conocimiento están de nuevo tal y como estaban en el momento de la copia.

Después, el sistema vuelve a ser utilizable. En una instalación pequeña esto lleva menos de un minuto.

Si la copia contiene la base de datos, esta vuelve completa o no vuelve. Los volúmenes siguen después. Si falla un volumen, la base de datos ya ha vuelto, pero pueden faltar archivos; la pestaña «Log» muestra qué paso falló. En todos los casos, la aplicación vuelve a arrancar después los contenedores, aunque la restauración haya fallado.

Una copia de seguridad de una versión anterior se puede restaurar en una más nueva. En su siguiente arranque, el sistema pone la base de datos al nivel de su propia versión.

Los consentimientos y las bajas de la encuesta de satisfacción se conservan sin preguntar. Esto vale también si respondes «No» a la segunda pregunta. La aplicación los lee de la instalación en marcha antes de la restauración. Después, una línea en la pestaña «Log» indica la cantidad, por ejemplo «12 consent and unsubscribe record(s) were carried over.» El sistema de tickets los incorpora en su primer arranque. Un consentimiento o una baja hechos después de la copia de seguridad siguen siendo válidos. Si la transferencia falla, el registro muestra una advertencia. La restauración cuenta igualmente como correcta.

La aplicación comprueba primero por completo una copia cifrada. Mientras tanto, la línea de estado dice «Checking the encrypted backup before anything is changed...». Solo después detiene los contenedores. Si el archivo está dañado o fue modificado, se detiene e informa «The backup file is damaged. Nothing was changed.»

Si la copia procede de otro servidor, la aplicación pide la clave de recuperación de ese servidor. Esto ocurre después de las preguntas. La ventana «Recovery key needed» nombra el ID de clave de la copia. La misma ventana aparece si falta la clave de este servidor.

Un error al teclear se detecta antes de cambiar nada. La línea de estado informa entonces «The recovery key has a typing error. Check each character.» Después la ventana vuelve a preguntar. Si la clave pertenece a otra copia, la línea de estado informa «This recovery key does not belong to this backup.» Con «Cancel» la aplicación se detiene e informa «Restore cancelled. Nothing was changed.»

La aplicación no adopta la clave que introdujiste. Conserva la suya. Las copias nuevas se siguen haciendo con la clave de este servidor. Si restauras en un servidor nuevo, guarda también la clave de recuperación de ese servidor.

Una copia sin base de datos restaura solo los adjuntos, los archivos guardados y las claves. Las claves existentes se conservan. La base de datos queda como está. La aplicación lo dice antes de la restauración y pregunta. Con «No» no se cambia nada.

Si la instalación está configurada con su propia base de datos, la aplicación omite la parte de base de datos aunque la copia contenga una base de datos. Esto ocurre, por ejemplo, con una copia más antigua. La aplicación pregunta antes. Con «No» no se cambia nada.

Una copia seleccionada en la lista, con la marca y el botón «Restore» debajo.
Los marcos rojos señalan la marca y «Restore». Sin una fila seleccionada, el botón sigue apagado.Abrir la imagen a tamaño completo
La confirmación previa a la restauración con los botones «Yes» y «No».
La pregunta nombra ambas consecuencias: el estado actual se sobrescribe y los contenedores se reinician.Abrir la imagen a tamaño completo
El registro tras la restauración, con el mensaje «Restore complete.» al final.
Cada paso está ahí con su hora. Al final, la aplicación informa de «Restore complete.»Abrir la imagen a tamaño completo
La segunda pregunta «6 person(s) were anonymized in the current system.» con los botones «Yes» y «No».
Los marcos rojos están sobre la pregunta y sobre «Yes». «Yes» está preseleccionado. El número indica las personas que están anonimizadas en el estado actual.Abrir la imagen a tamaño completo
La línea de estado después de la restauración: «1 warning(s) while carrying over anonymizations and survey consents. See the Log tab.»
El marco rojo está sobre la línea de estado. Solo indica el número de advertencias. Lo que pasó exactamente aparece en la pestaña «Log».Abrir la imagen a tamaño completo
La solicitud de la clave de recuperación con el ID de clave de la copia, un campo de entrada y los botones «OK» y «Cancel».
Los marcos rojos señalan la pregunta con el ID de clave y el campo de entrada. Los guiones, los espacios y las mayúsculas o minúsculas no importan al teclear la clave. La clave de la imagen procede de un entorno de pruebas.Abrir la imagen a tamaño completo
6

En un servidor sin escritorio

Un servidor a menudo no tiene escritorio. Por eso la misma aplicación funciona también como comando.

Cinco comandos son lo que necesitas en el día a día: «backup» guarda, «list» muestra las copias que tienes, «restore» recupera una, «schedule» define la programación y «config» muestra los ajustes. Para la clave se añaden «key» y «decrypt».

Detrás hay la misma aplicación que en la ventana. No hay una segunda vía que haga otra cosa.

La aplicación está en «/opt/smitey/Backup». La llamas con «sudo» y añades el comando. Los contenedores se ejecutan como «root», así que la copia necesita también esos permisos.

Puedes copiar los seis recuadros de abajo. Cubren lo que de verdad hace falta en el día a día.

Una restauración también pregunta aquí. Solo se ejecuta si añades «--yes». Entonces también traspasa las anonimizaciones del estado actual, igual que «Yes» en la ventana. Con «--no-reapply» se ejecuta sin este paso.

En el servidor hay un archivo para leer todo esto con calma. Se llama «BACKUP-RESTORE.txt» y está en «/opt/smitey». Repasa una vez más la programación, todos los comandos y el camino de vuelta, a tu ritmo. Existe en alemán y en inglés: si elegiste alemán durante la instalación, recibes la versión alemana; si no, la inglesa. Las dos versiones están también en «/opt/smitey/docs».

«key --show» muestra la clave de recuperación, el ID de clave y el número de copias sin cifrar. Cuando la clave esté guardada fuera del servidor, lo confirmas con «key --confirm-stored».

Una copia de otro servidor la restauras con «--key-file». El archivo que indicas contiene la clave de recuperación. El archivo de «Save to file...» también sirve. En lugar del archivo también puedes usar la variable de entorno «SMITEY_BACKUP_KEY». Con «sudo» la pones justo delante del programa, es decir «sudo SMITEY_BACKUP_KEY=<clave> /opt/smitey/Backup/TicketSystemBackup restore …». La clave queda entonces en el historial del shell. Si la clave no coincide, no se cambia nada.

«decrypt» escribe el contenido de una copia como archivos sin cifrar en una carpeta vacía. Estos archivos no están cifrados. Contienen contraseñas y datos personales. Bórralos en cuanto termines.

Mostrar las copias que tienes

sudo /opt/smitey/Backup/TicketSystemBackup list

Cada línea lleva la hora, el motivo, el tamaño y el nombre del archivo. Es la misma lista que en la ventana.

Mostrar la programación

sudo /opt/smitey/Backup/TicketSystemBackup schedule --show

La primera línea nombra la hora definida con su zona horaria. La última dice si la tarea existe de verdad en el sistema operativo. Si dice «NO», no se ejecuta nada por sí solo.

Cambiar la programación

sudo /opt/smitey/Backup/TicketSystemBackup schedule --daily 23:00 --keep 14

La hora vale en la zona horaria del sistema de tickets. «--keep» dice cuántas copias diarias se conservan. «schedule --off» desactiva la copia diaria.

Crear una copia ahora mismo

sudo /opt/smitey/Backup/TicketSystemBackup backup

Esta copia cuenta como «Manual». Las copias hechas a mano no se borran nunca automáticamente.

Mostrar la clave de recuperación

sudo /opt/smitey/Backup/TicketSystemBackup key --show

La última línea dice si ya has confirmado que la clave está guardada. El comando no crea ninguna clave.

Restaurar una copia de otro servidor

sudo /opt/smitey/Backup/TicketSystemBackup restore <file>.smbk --yes --key-file /root/recovery-key.txt

Sustituye <file> por el nombre o la ruta de la copia. El archivo «/root/recovery-key.txt» lo creas antes. Contiene la clave de recuperación. El archivo de «Save to file...» también sirve.

Una línea de comandos en un servidor Linux con la lista de «list» y, debajo, la salida de «key --show».
Arriba, «list» muestra las copias. Las copias antiguas en formato ZIP llevan la nota «(Not encrypted)». Debajo, «key --show» da la clave de recuperación, el ID de clave y el número de copias sin cifrar. La clave de la imagen procede de un entorno de pruebas.Abrir la imagen a tamaño completo
7

Las copias están en la misma máquina

Antes de empezar: Una copia junto al sistema no te protege de un fallo del disco. Copia los archivos a otro sitio con regularidad.

Las copias son archivos en la carpeta que hayas definido. Esa carpeta está en la misma máquina que el sistema de tickets.

Para los casos habituales funciona bien. Datos borrados por error, una actualización que salió mal o un error en los datos quedan cubiertos.

No ayuda si falla el disco. Si el disco se va, las copias se van con él.

Así que copia los archivos a otro sitio. Basta con una unidad de red, un segundo servidor o un almacenamiento en la red.

Un archivo copiado se puede volver a cargar en cualquier servidor. En un servidor distinto necesitas para ello la clave de recuperación. Con «Import backup file…» devuelves el archivo a la lista.

Las copias están cifradas. Nadie puede leerlas sin la clave de recuperación. Por eso no guardes la clave junto a las copias. Las copias más antiguas con la terminación «.zip» no están cifradas.

La pestaña «Settings» con el campo «Backup directory».
El campo «Backup directory» dice dónde están los archivos. Esa es la carpeta que deberías copiar a otro sitio con regularidad.Abrir la imagen a tamaño completo
8

Antes de cada actualización, el sistema guarda por sí mismo

Una actualización hace antes una copia propia. Eso ocurre con independencia de tu programación y sin que marques nada.

Guarda lo mismo de siempre: la base de datos, los adjuntos, los archivos guardados y las claves. Si la base de datos funciona fuera de SMITEY, la actualización guarda solo los adjuntos, los archivos guardados y las claves.

Esta copia la hace la aplicación «Ticket System Backup & Restore». Está cifrada como cualquier otra y está en la misma carpeta. En la lista su tipo es «Update». Se conservan las tres copias más recientes de este tipo. Las más antiguas las borra la aplicación por sí sola.

El aviso previo a la actualización te lo dice. No tienes que acordarte tú de guardar antes.

Si esta copia falla, la actualización se detiene antes de sustituir nada. Una base de datos fuera de SMITEY no retrasa la actualización. La actualización cambia entonces el ajuste de la aplicación para que la copia diaria también omita la base de datos. Haz la copia de seguridad de esta base de datos con tus propias herramientas.

Más sobre esto en la tarjeta: Actualizar con solo pulsar un botón

La confirmación previa a la actualización con la nota sobre la copia de seguridad.
La frase «A full backup is taken automatically beforehand» forma parte de la pregunta. La copia se hace antes de que se sustituya nada.Abrir la imagen a tamaño completo

Las capturas son de la versión 1.3.1. Nada de lo que se ve en esas pantallas cambió hasta la versión 1.13.3. Lo único que se ve distinto es el número de versión al final de la barra lateral.