Backups
Fotografias online da configuração, uma exportação que leva as senhas guardadas para outra máquina, uma restauração agendada para a próxima partida em vez de aplicada ao vivo, e a reconstrução do índice de histórico de execuções.
Backups é a única linha do grupo DADOS na página Configurações. O cartão tira uma cópia da configuração da estação enquanto tudo continua rodando, escreve o arquivo único que leva também as senhas guardadas para outra máquina, lista tudo o que ele guarda, agenda uma dessas cópias para substituir a configuração na próxima partida, e reconstrói o índice de execuções gravadas quando aquela lista parece errada. Ele abre com "Guarde um retrato da configuração do aplicativo (dispositivos, tags, lógica, dashboards, ajustes e as imagens, ícones e símbolos da sua biblioteca) para poder voltar atrás. As execuções gravadas e o histórico delas ficam em separado e nunca são afetados por um backup ou por uma restauração." A página exige a permissão Alterar configurações.
O que um backup contém
Um backup é uma cópia online do banco de configuração, tirada com o mecanismo de backup do SQLite, então ele é coerente mesmo enquanto o aplicativo escreve (com o log de escrita antecipada incluído). Ele guarda tudo o que aquele banco guarda: os dispositivos e as tags dos drivers, o espaço de endereços da Logic (as variáveis com os valores retentivos delas, as ações, os gatilhos, os alarmes), os dashboards, os modelos, as unidades, os procedimentos, as receitas, as avaliações e os modelos de documento do Process, os usuários e os papéis locais, a configuração do servidor OPC UA, e as configurações desta página. Ao lado do arquivo do banco, a estação copia a pasta de ativos do usuário (as imagens, os ícones e os símbolos da sua biblioteca) para uma pasta irmã, para que uma restauração traga as figuras de volta também, e uma nota opcional vai para um arquivo lateral.
Os arquivos moram na pasta backups da raiz de dados da estação: config-20260902-141500.db (com um sufixo -2 se aquele segundo já tiver um), config-20260902-141500.assets e config-20260902-141500.db.note.json. Uma exportação é um arquivo único ao lado deles, config-export-20260902-141500.glabconfig.
Um backup nunca contém as execuções gravadas e os arquivos delas, o índice de histórico de execuções, o diário durável de eventos, o marcador de falha, os arquivos de log, a posição e o zoom da janela, o armazenamento de token da conta, ou os repositórios de certificados do servidor OPC UA. As credenciais dentro do banco (segredos de dispositivo, a senha do servidor OPC UA) são guardadas como texto cifrado preso ao usuário e à máquina Windows que as digitou: um backup aberto em outro lugar restaura a configuração inteira mas lê cada uma delas como não configurada, a ser digitada de novo. A exportação logo abaixo é o arquivo único que as leva junto.
Criar um backup
| Campo | O que é | Valores / padrão | Efeito |
|---|---|---|---|
| Nota | "Observação opcional guardada com o backup ou a exportação", o campo ao lado dos botões. | Até 200 caracteres; vazio por padrão e limpo depois de cada backup ou exportação. | Escrito no arquivo lateral de nota de um backup e no cabeçalho de uma exportação, e mostrado sob a linha daquele arquivo. |
| Comando | O que ele faz | Esmaecido quando (situação) | Não aparece quando (papel) |
|---|---|---|---|
| Abrir pasta | Abre a pasta de backups no Explorador, criando-a se preciso. Quem responde ao pedido é a janela da estação, e só para uma pasta existente desta instalação: qualquer outra coisa relata "Essa não é uma pasta que esta estação abre. Nada foi aberto.", com as mesmas palavras se a pasta está fora da instalação ou se simplesmente não está lá, então a resposta não conta a quem pediu nada que ele já não soubesse. Uma pasta que o Windows não abre relata "O sistema operacional não conseguiu abrir." | Num navegador em outro dispositivo: "Disponível apenas no aplicativo instalado na estação." | Nunca. |
| Criar backup | Tira a fotografia e depois relata "Backup 'config-….db' criado." na barra de status, ou "Falha no backup: …". | Enquanto outro comando de backup roda (o cartão fica esmaecido). | Nunca. |
Criar um backup é trabalho de engenharia somente leitura: ele roda enquanto uma unidade roda e nunca se sobrepõe a uma mudança de configuração. Enquanto o runtime está parado esta página não é desenhada (veja Configurações), então nenhum comando de backup pode ser alcançado até o runtime voltar. Uma estação cujo banco de configuração ainda não existe é recusada com "O banco de configuração ainda não existe."
Exportar para outra máquina
Sob os botões de backup, um segundo bloco com título próprio, Exportar para outra máquina, abre com a razão de ele existir: "Um backup deixa as senhas guardadas para trás: as senhas de dispositivo e a senha do servidor OPC UA só abrem nesta conta do Windows, nesta máquina. Uma exportação é um arquivo único que leva as senhas junto, selado com uma senha que você escolhe aqui, para que uma máquina nova assuma a estação inteira. Guarde essa senha em lugar seguro: ela é a única coisa que abre o arquivo, e não há como recuperá-la por aqui."
| Campo | O que é | Valores / padrão | Efeito |
|---|---|---|---|
| Senha da exportação | A senha com que o arquivo é selado, e a única coisa que voltará a abri-lo. | Pelo menos 8 caracteres; vazio por padrão e limpo depois de cada exportação. | Deriva a chave sob a qual cada credencial guardada é selada de novo. Ela não fica guardada em lugar nenhum: uma exportação cuja senha ninguém lembra não pode ser aberta por ninguém, nem por este aplicativo. |
| Repita a senha | A mesma senha de novo, para que um escorregão de digitação apareça antes de o arquivo ser escrito. | Precisa ser igual à do campo ao lado. | Nada sozinha; o Exportar continua recusado enquanto as duas diferirem. |
O campo de nota lá de cima é o mesmo: ele viaja dentro da exportação também, e aparece sob a linha dela.
| Comando | O que ele faz | Esmaecido quando (situação) | Não aparece quando (papel) |
|---|---|---|---|
| Exportar | Escreve um config-export-20260902-141500.glabconfig na mesma pasta backups e relata "Exportação '…' criada com N credenciais guardadas." Uma credencial que esta conta do Windows não conseguiu ler é contada à parte, no tom de erro: "Exportação '…' criada com N credenciais guardadas. M credenciais guardadas não puderam ser lidas nesta conta do Windows e ficaram para trás: digite-as de novo na máquina nova." |
Enquanto outro comando de backup roda ("Outro comando de backup ainda está em andamento."), enquanto a senha tiver menos de oito caracteres ("Escolha uma senha de pelo menos 8 caracteres para a exportação.") e enquanto os dois campos diferirem ("As duas senhas são diferentes."). | Nunca: escrever uma exportação exige a mesma permissão Alterar configurações que a página já exige, porque o arquivo que ela produz é cada credencial que a estação guarda, sob uma senha que quem exporta escolhe. |
A exportação é um arquivo compactado que carrega uma cópia coerente do banco de configuração, os ativos do usuário ao lado dele e um cabeçalho. Cada coluna que a configuração protege é lida pelo cofre desta máquina na saída e selada de novo sob a senha da exportação; o cabeçalho carrega o sal, o fator de trabalho e uma constante selada com a chave derivada, o que basta para distinguir uma senha certa de uma errada e nada mais. Quais colunas viajam é lido da própria configuração, então uma credencial acrescentada depois viaja sem ninguém precisar lembrar de uma lista. Escrever uma exportação é trabalho de engenharia somente leitura, igual a um backup, então ela roda enquanto uma unidade roda; e fica no diário, porque uma cópia de cada credencial que a estação guarda acabou de sair do cofre.
Uma exportação é restaurada pela lista abaixo, com o Restaurar da linha dela. Isso pergunta "Restaurar a partir de uma exportação": "'…' carrega a configuração da máquina em que foi escrito e as senhas guardadas com ela. Digite a senha com que ele foi escrito: as senhas vão para o cofre desta máquina, e a configuração substitui a atual quando você reiniciar o aplicativo. A configuração atual é salva automaticamente antes, e as execuções gravadas não são afetadas.", com um campo Senha da exportação; o Restaurar continua recusado enquanto ele estiver vazio ("Digite a senha com que esta exportação foi escrita."). Uma senha errada não escreve nada e deixa o diálogo aberto, com a razão dita na barra de status, para que a próxima tentativa esteja ali mesmo: é a senha escolhida na máquina em que a exportação foi escrita, e não há como recuperá-la por aqui. Uma senha certa abre a exportação num backup comum desta máquina, põe as credenciais que ela carregava no cofre desta máquina, agenda esse backup para a próxima partida e relata "'…' foi aberto e as senhas dele foram guardadas nesta máquina. A configuração é restaurada no próximo reinício."; daí em diante é a restauração comum descrita abaixo, e o backup que fica na lista é o registro do que chegou, então a mesma restauração pode ser repetida depois sem a exportação nem a senha dela. O arquivo da exportação nunca é modificado, então ele ainda abre numa terceira máquina.
Nenhuma das duas metades é do agente: não existe ferramenta de exportação, nem jeito de restaurar uma exportação pela página Agente, porque a senha é do operador e uma que um agente inventasse ou recebesse ficaria numa transcrição. O backup_list marca uma exportação (portableExport), e o backup_restore a recusa nomeando 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."
A lista
Os backups e as exportações dividem uma lista só, do mais recente para o mais antigo, porque a pergunta que eles respondem é a mesma: qual destes eu restauro. Cada linha mostra quando o arquivo foi criado, no formato de data e hora da estação, depois o que ele é (Backup ou Exportação para outra máquina), o nome dele e o tamanho dele, e a nota quando há uma. O tamanho é tudo o que aquele arquivo ocupa, que é tudo o que excluí-lo libera: num backup, a cópia do banco, a nota dela e a fotografia de ativos dela, cujas imagens são a metade maior numa estação que as usa; numa exportação, o arquivo compactado único. A lista é lida quando a página abre e depois de cada comando daqui, então um backup que um agente criou pela página Agente aparece na próxima vez que a página for aberta.
| Comando | O que ele faz | Esmaecido quando (situação) | Não aparece quando (papel) |
|---|---|---|---|
| Restaurar | Num backup, pergunta "Restaurar a configuração": "Agendar '…' para substituir a configuração atual quando o aplicativo reiniciar? A configuração atual será salva automaticamente antes. As execuções gravadas não são afetadas.", com Sim e Não. O Sim agenda a restauração e relata "'…' será restaurado no próximo reinício." Numa exportação é a mesma decisão e pede a senha no lugar, no diálogo descrito acima. | Enquanto uma unidade está em execução ("A configuração fica travada enquanto uma unidade está em execução."). | Nunca. |
| Excluir | Pergunta "Excluir o backup": "Excluir permanentemente o backup '…'? Isso não pode ser desfeito." O Sim remove a cópia do banco, a nota dela e a fotografia de ativos dela, e relata "Backup '…' excluído." Uma exportação é nomeada pelo que ela é e pelo que vai junto, "Excluir a exportação": "Excluir para sempre a exportação '…'? As senhas que ela carrega vão junto. Isso não pode ser desfeito.", e depois "Exportação '…' excluída." | Nunca enquanto esta página está desenhada. | Nunca. |
Restaurar é recusado, com a razão na barra de status, quando uma gravação está ativa ("Há uma gravação ativa. Pare-a antes de agendar uma restauração de configuração."), quando o arquivo não é um backup de configuração ("'…' não é um backup de configuração do Ganter Lab e não pode ser restaurado."), e quando ele foi escrito por um banco que esta versão não conhece, como o de uma versão mais nova ("'…' não é um backup de configuração que esta versão do Ganter Lab consiga restaurar. Ele pode pertencer a outro banco, ou a uma versão mais nova do aplicativo."). O Excluir recusa o backup que está agendado: "'…' está agendado para ser restaurado. Cancele a restauração pendente primeiro." A retenção é sua: nada aqui exclui backups por conta própria, e um agente pode criar e listar backups mas nunca excluir um.
Restauração agendada
Agendar escreve um marcador na raiz de dados, e o cartão mostra o aviso de atenção Restauração agendada: "'…' será restaurado quando você reiniciar o aplicativo. A configuração atual é salva automaticamente antes.", com um botão Cancelar que remove o marcador e relata "Restauração pendente cancelada.". Nada muda até o aplicativo iniciar de novo.
Na partida seguinte, antes de qualquer coisa abrir a configuração, o aplicativo valida o arquivo de novo, fotografa a configuração que está sendo substituída como config-pre-restore-<timestamp>.db com a nota "Fotografia automática tirada antes de restaurar '…'." e a cópia de ativos dela (então uma restauração é ela mesma reversível), troca o arquivo do banco, restaura a fotografia de ativos quando o backup carregava uma, e limpa o marcador. Uma partida que tem uma execução do Process a retomar adia em vez disso: a restauração continua agendada, com a razão "A restauração continua agendada porque uma execução do Process precisa ser retomada com a configuração atual.", e é aplicada numa partida posterior. Um arquivo de backup que sumiu, ou que falha na validação, é relatado e o marcador é limpo para que as partidas seguintes não fiquem presas. Uma vez trocado o banco, a restauração conta como aplicada mesmo que um passo posterior, como a cópia de ativos, falhe; essa falha é relatada como um aviso nomeando onde as imagens anteriores foram salvas.
Configuração restaurada: revisão necessária
Depois de uma restauração aplicada, o cartão mostra um segundo aviso de atenção, Configuração restaurada: revisão necessária: "Revise os ajustes restaurados, os Modelos, as Unidades, os Procedimentos, os códigos, os contadores e as filas de impressora de etiqueta; confira os Históricos; reconstrua o índice do histórico de execuções só se a lista de históricos estiver faltando ou inconsistente." Ele fica até você pressionar Dispensar. Uma restauração não faz reconciliação nenhuma por conta própria: os nomes de fila voltam como configuração, mas as impressoras do Windows não são descobertas nem corrigidas, e os contadores são o que o backup guardava.
Reconstruir o índice de histórico de execuções
| Comando | O que ele faz | Esmaecido quando (situação) | Não aparece quando (papel) |
|---|---|---|---|
| Reconstruir | "Reconstrói a lista de execuções gravadas varrendo os arquivos de execução. Use isto se a lista de históricos parecer incompleta depois de uma restauração ou de uma mudança de arquivos de lugar. Os próprios arquivos de execução são a fonte da verdade." Relata "Índice de histórico reconstruído: N recuperados, N removidos, N ilegíveis (N arquivos de execução)." | Enquanto outro comando de backup roda. | Nunca. |
A revarredura devolve a entrada de índice a um arquivo de execução que estava sem ela (a partir da fotografia congelada da própria execução, ou como uma execução com falha se o aplicativo morreu no meio dela), descarta entradas cujo arquivo sumiu, reconstrói as projeções de produtividade a partir de todo arquivo legível, e pula um .db estranho ou corrompido depois de identificá-lo em modo somente leitura, contando-o como ilegível sem modificá-lo. Ela então atualiza as fotografias de produtividade que a página do Process mostra. Ela nunca toca nas evidências gravadas de um arquivo de execução.
O que esta seção não faz
Não há backup automático nem agendado, não há política de retenção, não há backup para outro lugar (copie os arquivos da pasta), não há restauração parcial, e não há restauração de histórico de execuções: as execuções gravadas são arquivos próprios sob a raiz de dados, e o índice é reconstruído a partir delas. A exportação também não é um backup para outro lugar: ela é escrita na mesma pasta, e levá-la até a máquina que precisa dela continua sendo com você. Importar e exportar execuções se faz na página Históricos.