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.

Ver como Markdown

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 recursos 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 "O backup falhou: …". 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."

Exportação para outra máquina

Sob os botões de backup, um segundo bloco com título próprio, Exportação 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. A caixa Mostrar a senha embaixo dele revela o que se digita aqui, e só aqui. 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. Não tem caixa Mostrar a senha própria e fica sempre oculto. 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 recursos 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 e sua caixa Mostrar a senha; 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: "Essa senha não abre esta exportação. É a senha escolhida na máquina onde a exportação foi escrita, e não há como recuperá-la 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: "'…' é uma exportação de configuração para outra máquina. Ela leva as senhas guardadas seladas com a senha escolhida quando foi escrita, então é restaurada em Configurações, Backups, onde essa senha pode ser digitada."

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 recursos 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 acompanha o que a própria estação faz: um backup ou uma exportação feitos aqui ou em outra janela, ou um backup feito por um agente pela página Agente, aparece na lista na hora. Um arquivo posto na pasta backups por fora do aplicativo, copiado à mão por exemplo, não é percebido: ele aparece quando a página é aberta de novo.

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 está travada enquanto uma Unidade está em execução."). Nunca.
Excluir Pergunta "Excluir o backup": "Excluir para sempre o backup '…'? Isso não pode ser desfeito." O Sim remove a cópia do banco, a nota dela e a fotografia de recursos 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." No backup que está agendado para ser restaurado ("'…' está agendado para ser restaurado. Cancele a restauração pendente primeiro."). 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. Uma restauração agendada em outra janela, ou por um agente pela página Agente, faz este aviso aparecer numa página que já está aberta, e uma cancelada em outro lugar o tira.

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 recursos dela (então uma restauração é ela mesma reversível), troca o arquivo do banco, restaura a fotografia de recursos quando o backup carregava uma, e limpa o marcador. Quando a estação termina de subir, uma notificação diz como foi:

Resultado Notificação Mensagem
Aplicada Configuração restaurada "O backup '…' foi aplicado na inicialização. A configuração anterior foi salva como '…'."
Aplicada, mas as imagens do backup não puderam ser copiadas de volta Configuração restaurada com um aviso, depois da anterior "A configuração foi restaurada, mas os arquivos de imagem dela não puderam ser restaurados junto. As imagens anteriores foram salvas ao lado de '…'."
Uma execução do Process precisa ser retomada com a configuração atual: a restauração continua agendada e é aplicada numa partida posterior Restauração da configuração adiada "Termine todas as execuções de Process retomadas e reinicie para aplicar a restauração agendada."
O arquivo de backup sumiu Falha ao restaurar a configuração "O backup '…' não foi aplicado: …", com a razão "Não existe backup com o nome '…'."
O arquivo falha na validação Falha ao restaurar a configuração "O backup '…' não foi aplicado: …", com a razão que Restaurar dá para esse arquivo (acima).
Os arquivos não puderam ser copiados nem substituídos Falha ao restaurar a configuração "O backup '…' não foi aplicado: …", com a razão "Não foi possível copiar ou substituir os arquivos da configuração, e o diário guarda a causa. Agende a restauração de novo em Configurações, Backups."

Uma restauração que falhou limpa o marcador, 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 falhe. Quando o próprio marcador não pode ser removido, a mensagem termina com "O Ganter Lab não conseguiu limpar a restauração agendada, então ela pode rodar de novo no próximo início." O diário guarda a causa de cada um desses casos em inglês, para o suporte.

Configuração restaurada: é preciso revisar

Depois de uma restauração aplicada, o cartão mostra um segundo aviso de atenção, Configuração restaurada: é preciso revisar: "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 do 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 do histórico reconstruído: N recuperadas, N removidas (N arquivos de execução).", ou "Índice do histórico reconstruído: N recuperadas, N removidas (1 arquivo de execução)." quando há um só arquivo de execução. A contagem de ilegíveis só aparece quando algum arquivo não pôde ser lido: "Índice do histórico reconstruído: N recuperadas, N removidas, 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.

A revarredura também lê de novo os valores dos metadados com que cada execução legível foi iniciada (um número de série, um lote), para que a busca da lista de Históricos encontre a execução por eles. É também o caminho de volta para uma execução gravada antes de o índice guardar esses valores cujo arquivo a passagem única em segundo plano depois da atualização não conseguiu ler: essa execução é encontrada só pelo nome até que uma revarredura a leia.

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.