Cópia de segurança e reposição

As cópias de segurança têm uma aplicação própria. Vem com o sistema e a instalação configura-a, por isso não há nada para comprar nem nada para configurar. Este bloco mostra o que ela guarda, quando corre e como recuperas tudo quando é preciso. Todo este bloco faz parte do Basic.

1

A aplicação de cópia de segurança e reposição

A aplicação chama-se «Ticket System Backup & Restore». Fica ao lado do sistema de tickets e tem o seu próprio atalho no ambiente de trabalho.

Há uma versão para Windows e uma para Linux. É a mesma aplicação, apenas construída para cada sistema operativo.

Tem seis separadores. «Restore» lista as cópias que tens, «Create Backup» faz uma nova, «Schedule» trata dos horários, «Encryption» mostra a chave de recuperação, «Settings» mostra os caminhos e «Log» o protocolo.

As definições já vêm preenchidas. No primeiro arranque, a aplicação descobre sozinha onde está o sistema de tickets.

A pasta das cópias está em «Backup directory». Podes alterá-la, por exemplo para outra unidade.

No Windows, a aplicação pede direitos de administrador ao arrancar. As definições dela valem para todos os administradores do computador e estão em «%ProgramData%\SMITEY\backup-app».

O separador «Restore» com cinco cópias de segurança, cada uma com hora, tamanho, tipo e cifra.
A moldura vermelha está sobre a coluna «Encryption». As cópias novas terminam em «.smbk» e estão «Encrypted». As cópias mais antigas em formato ZIP mostram «Not encrypted». A coluna «Type» diz se uma cópia veio do horário, foi feita à mão ou foi feita antes de uma atualização.Abrir a imagem em tamanho real
O separador «Settings» com a pasta das cópias e os dados da base de dados.
A moldura vermelha está sobre o nome do contentor PostgreSQL. Mais abaixo estão os volumes que também são guardados.Abrir a imagem em tamanho real
2

O horário corre desde o momento da instalação

Antes de começares: No Windows, a aplicação arranca sempre com direitos de administrador e regista o horário com esses direitos. Se o Windows não deixar a tarefa correr sem um utilizador com sessão iniciada, ela fica presa a um início de sessão, e a aplicação avisa-te disso.

A instalação configura sozinha a cópia diária. Corre às 23:00 no fuso horário do sistema de tickets.

O horário vive no sistema operativo. No Windows é o Agendador de Tarefas, no Linux o serviço cron. Assim não há um serviço extra a correr só para as cópias.

A cópia não precisa de ninguém com sessão iniciada. Num servidor onde nunca ninguém entra, corre na mesma.

A linha por baixo dos botões diz-te se a tarefa existe mesmo no sistema operativo. Uma caixa assinalada diz apenas o que foi guardado.

As cópias são mantidas em cinco escalões: 14 dias, 4 semanas, 12 meses, 4 trimestres e 5 anos. Uma cópia fica enquanto for a mais recente do seu período num desses escalões.

O que conta são dias de calendário, não ficheiros. Duas cópias no mesmo dia são um dia.

As cópias que crias à mão nunca são apagadas automaticamente. É isso que significa o 0 em «Keep manual».

Se alterares o horário, a tua alteração sobrevive a uma atualização. A instalação só o define se nunca tiveres definido um horário. Se desligaste a cópia de segurança, ela continua desligada. «Remove all scheduled tasks» também perdura: uma atualização não volta a criar o horário depois.

O separador «Schedule» com «Daily» assinalado e a hora definida para as 23:00.
As molduras vermelhas estão sobre «Daily» e sobre a hora. A frase por cima nomeia os dois caminhos: o Agendador de Tarefas e o cron.Abrir a imagem em tamanho real
A linha «Registered with the operating system: yes (Daily)» por baixo dos botões.
Esta linha é verificada a cada arranque. Se disser «NO», não corre nada sozinho — usa então «Apply schedule» como administrador.Abrir a imagem em tamanho real
Os seis campos de retenção: 14, 4, 12, 4, 5 e 0.
A moldura vermelha está sobre os escalões. «Keep manual (0 = keep all)» significa que as cópias feitas à mão são mantidas.Abrir a imagem em tamanho real
O separador «Schedule» depois de «Apply schedule», com «02:00 (America/New_York)» e «Registered with the operating system: yes (Daily)» por baixo.
As molduras vermelhas estão sobre «Apply schedule» e sobre as linhas por baixo. Entre parênteses aparece o fuso horário do sistema de tickets. A hora vale nesse fuso e não no fuso horário do computador.Abrir a imagem em tamanho real
3

O que uma cópia de segurança contém

Uma cópia de segurança contém tudo o que forma o estado do teu sistema. Ou seja, a base de dados, os ficheiros anexos, o arquivo e as chaves. Só falta uma base de dados fora do SMITEY.

As chaves são a parte que passa facilmente despercebida. Decifram as credenciais guardadas, por exemplo as da tua conta de correio. Sem elas, uma reposição voltaria com credenciais mortas.

Cada cópia nova é um único ficheiro cifrado que termina em «.smbk». Contém um ficheiro por volume, uma lista do conteúdo e, se estiver incluída, a base de dados como ficheiro de texto.

O sistema continua a funcionar enquanto isto acontece. Os teus agentes nem dão pela cópia.

«Estimate size» diz-te à partida qual o tamanho da base de dados. Os volumes com os anexos somam-se a isso. A cópia não é comprimida.

Nunca se sobrescreve nada. Cada cópia é um ficheiro próprio, e só a limpeza remove as antigas.

Só os administradores podem ler as cópias de segurança. O mesmo vale para o ficheiro de configuração e para o ficheiro com o primeiro início de sessão na pasta de instalação. O instalador e cada atualização definem estas permissões automaticamente.

Se a tua base de dados correr num servidor próprio e não no contentor do SMITEY, a aplicação não consegue fazer a cópia dela. Faz então a cópia com as tuas próprias ferramentas. Nesse caso, a cópia contém só os anexos, os arquivos e as chaves, cifrados como de costume. Uma atualização deteta sozinha uma base de dados dessas e reconfigura a aplicação. Até lá, a cópia diária falha numa instalação assim, a não ser que a reconfigures primeiro à mão. Na linha de comandos, também podes fazê-lo à mão com «config --database external». Com «config --database bundled» voltas atrás.

Mais sobre isto no cartão: Cifra e chave de recuperação

O separador «Create Backup» com os botões «Estimate size» e «Create backup now».
A moldura vermelha está sobre os dois botões. A frase por cima lista o que vai incluído.Abrir a imagem em tamanho real
A mensagem no fundo com o caminho completo do ficheiro criado.
Depois de feito, o nome do ficheiro aparece no fundo da janela. A hora faz parte do nome.Abrir a imagem em tamanho real
4

Cifra e chave de recuperação

Antes de começares: Guarda a chave de recuperação fora do servidor. Sem ela, nenhuma cópia pode ser aberta depois de o servidor se perder. Ninguém a pode recuperar por ti.

Cada cópia nova é cifrada. Isto vale para as cópias do horário, para as feitas à mão e para as feitas antes de uma atualização. Não tens de ligar nada.

As cópias são cifradas com AES-256. A instalação cria a chave sozinha. Numa instalação existente, ela é criada na primeira atualização para uma versão com cifra. Fica guardada no servidor, protegida. Só os administradores a podem ler.

Isto protege as cópias fora do servidor. Quem encontrar uma cópia numa unidade de rede, numa memória USB ou num armazenamento online não a consegue ler sem a chave. Quem controla o próprio servidor também tem a chave.

A chave de recuperação é a mesma chave numa forma que podes anotar. Começa por «SMBK-». Encontras a chave no separador «Encryption» e no ficheiro «SMITEY-credentials.txt» na pasta de instalação. Se apagaste esse ficheiro, a chave continua no separador «Encryption».

«Copy» põe a chave na área de transferência. «Save to file...» guarda-a num ficheiro de texto, com o ID da chave e a data. Guarda-o, por exemplo, num gestor de palavras-passe ou em papel num cofre.

Enquanto não confirmares que a chave está guardada, a aplicação mostra uma barra amarela no topo. Para confirmar, clica em «I stored the key outside this server» e responde «Yes» à pergunta. A barra desaparece. O separador mostra depois quando confirmaste.

O ID da chave diz-te a que servidor pertence uma cópia. Se uma cópia não pertencer a este servidor, a aplicação indica o ID da chave dela. Depois pede a chave de recuperação correspondente.

Se a aplicação não conseguir ler a chave, não faz cópia nenhuma. Também não faz uma cópia sem cifra. Nesse caso, o separador «Encryption» diz que a chave não pode ser lida. Se o ficheiro da chave faltar de todo, a cópia seguinte cria uma chave nova. A barra amarela volta a aparecer, porque também é preciso guardar a chave nova. As cópias mais antigas continuam a abrir-se só com a chave de recuperação antiga.

As cópias mais antigas em formato ZIP não estão cifradas. Ainda as podes repor. O separador mostra quantas são. A limpeza remove-as pelas mesmas regras que qualquer outra cópia.

Num servidor sem ambiente de trabalho, «key --show» mostra o mesmo na linha de comandos.

Mais sobre isto no cartão: Voltar a ter tudo, Num servidor sem ambiente de trabalho

O separador «Encryption» com a chave de recuperação, o ID da chave e três botões. A barra de aviso amarela está no topo.
As molduras vermelhas estão sobre a barra de aviso, sobre a chave e o ID da chave e sobre «I stored the key outside this server». A chave da imagem vem de um ambiente de teste.Abrir a imagem em tamanho real
O mesmo separador depois da confirmação, sem a barra de aviso.
A moldura de cima está sobre a hora da confirmação. A de baixo mostra quantas cópias ainda não estão cifradas.Abrir a imagem em tamanho real
5

Recuperar tudo

Antes de começares: Uma reposição substitui o estado de hoje. Tudo o que tiver sido criado desde a cópia escolhida desaparece.

No separador «Restore» escolhes a cópia que queres de volta. Depois carregas em «Restore».

A aplicação pergunta primeiro. Diz o que vai acontecer: o estado de hoje é substituído e a aplicação reinicia os contentores. Se houver pessoas anonimizadas no estado de hoje, segue-se uma segunda pergunta. Indica quantas são e pergunta se devem voltar a ser anonimizadas depois da reposição. «Yes» está pré-selecionado. Com «No», a cópia é reposta sem este passo. Se em vez disso fechares a janela, nada é reposto.

O visto «Wipe target volumes before restore» esvazia primeiro os volumes. Assim não fica para trás nenhum ficheiro que não existisse quando a cópia foi feita.

Os passos aparecem no separador «Log». Aí vês um a um o que a aplicação fez. Se respondeste «Yes» à segunda pergunta, uma linha no fim diz quantas anonimizações o sistema de tickets volta a aplicar na noite seguinte. Se não for possível transferi-las, o registo mostra em vez disso um aviso. Se houve avisos, a linha de estado no fundo da janela indica quantos.

Se a cópia contiver a base de dados, volta o estado completo. Os tickets, os comentários, o histórico, os ficheiros anexos, o tempo registado e a base de conhecimento estão todos lá outra vez, tal como estavam no momento da cópia.

Depois disso o sistema volta a estar utilizável. Numa instalação pequena isto demora menos de um minuto.

Se a cópia contiver a base de dados, ela volta completa ou não volta. Os volumes seguem-se depois. Se um volume falhar, a base de dados já voltou, mas podem faltar ficheiros; o separador «Log» mostra que passo falhou. Em todos os casos, a aplicação volta a arrancar os contentores depois, mesmo que a reposição tenha falhado.

Uma cópia de segurança de uma versão mais antiga pode ser reposta numa mais recente. No arranque seguinte, o sistema atualiza a base de dados para a sua própria versão.

Os consentimentos e os cancelamentos da subscrição do inquérito de satisfação são transferidos sem perguntar. Isto vale também se responderes «No» à segunda pergunta. A aplicação lê-os da instalação em execução antes da restauração. Depois, uma linha no separador «Log» indica o número, por exemplo «12 consent and unsubscribe record(s) were carried over.» O sistema de tickets assume-os no primeiro arranque. Um consentimento ou um cancelamento da subscrição feito depois da cópia de segurança continua, por isso, válido. Se a transferência falhar, o registo mostra um aviso. A restauração conta na mesma como bem-sucedida.

A aplicação verifica primeiro por completo uma cópia cifrada. Entretanto, a linha de estado diz «Checking the encrypted backup before anything is changed...». Só depois pára os contentores. Se o ficheiro estiver danificado ou tiver sido alterado, pára e comunica «The backup file is damaged. Nothing was changed.»

Se a cópia vier de outro servidor, a aplicação pede a chave de recuperação desse servidor. Isto acontece depois das perguntas. A janela «Recovery key needed» indica o ID da chave da cópia. A mesma janela aparece se faltar a chave deste servidor.

Um erro de escrita é detetado antes de se alterar o que quer que seja. A linha de estado comunica então «The recovery key has a typing error. Check each character.» Depois a janela pergunta de novo. Se a chave pertencer a outra cópia, a linha de estado comunica «This recovery key does not belong to this backup.» Com «Cancel», a aplicação pára e comunica «Restore cancelled. Nothing was changed.»

A aplicação não adota a chave que introduziste. Mantém a sua. As cópias novas continuam a ser feitas com a chave deste servidor. Se repuseres num servidor novo, guarda também a chave de recuperação desse servidor.

Uma cópia sem base de dados repõe só os anexos, os arquivos e as chaves. As chaves existentes mantêm-se. A base de dados fica como está. A aplicação avisa disso antes da reposição e pergunta. Com «No» nada é alterado.

Se a instalação estiver configurada com uma base de dados própria, a aplicação ignora a parte da base de dados mesmo quando a cópia contém uma base de dados. Isto acontece, por exemplo, com uma cópia mais antiga. A aplicação pergunta antes. Com «No» nada é alterado.

Uma cópia selecionada na lista, com o visto e o botão «Restore» por baixo.
As molduras vermelhas estão sobre o visto e sobre «Restore». Sem uma linha selecionada, o botão fica desligado.Abrir a imagem em tamanho real
A confirmação antes da reposição, com os botões «Yes» e «No».
A pergunta indica as duas consequências: o estado de hoje é substituído e os contentores são reiniciados.Abrir a imagem em tamanho real
O protocolo depois da reposição, com a mensagem «Restore complete.» no fundo.
Cada passo está lá com a sua hora. No fim, a aplicação comunica «Restore complete.»Abrir a imagem em tamanho real
A segunda pergunta «6 person(s) were anonymized in the current system.» com os botões «Yes» e «No».
As molduras vermelhas estão sobre a pergunta e sobre «Yes». «Yes» está pré-selecionado. O número indica as pessoas que estão anonimizadas no estado de hoje.Abrir a imagem em tamanho real
A linha de estado depois do restauro: «1 warning(s) while carrying over anonymizations and survey consents. See the Log tab.»
A moldura vermelha está sobre a linha de estado. Indica apenas o número de avisos. O que aconteceu exatamente está no separador «Log».Abrir a imagem em tamanho real
O pedido da chave de recuperação com o ID da chave da cópia, um campo de introdução e os botões «OK» e «Cancel».
As molduras vermelhas estão sobre a pergunta com o ID da chave e sobre o campo de introdução. Hífenes, espaços e maiúsculas ou minúsculas não contam quando escreves a chave. A chave da imagem vem de um ambiente de teste.Abrir a imagem em tamanho real
6

Num servidor sem ambiente de trabalho

Muitas vezes um servidor não tem ambiente de trabalho. Por isso a mesma aplicação também funciona como comando.

No dia a dia precisas de cinco comandos: «backup» guarda, «list» mostra as cópias que tens, «restore» traz uma de volta, «schedule» define o horário e «config» mostra as definições. Para a chave, juntam-se «key» e «decrypt».

Por trás deles está a mesma aplicação da janela. Não há um segundo caminho que faça outra coisa.

A aplicação está em «/opt/smitey/Backup». Chama-la com «sudo» e acrescentas o comando. Os contentores correm como «root», por isso a cópia também precisa desses direitos.

Podes copiar as seis caixas abaixo. Cobrem o que é mesmo preciso no dia a dia.

Também aqui a reposição pergunta. Só corre quando acrescentas «--yes». Transfere então também as anonimizações do estado de hoje, tal como «Yes» na janela. Com «--no-reapply», corre sem este passo.

Há um ficheiro no servidor para leres tudo isto. Chama-se «BACKUP-RESTORE.txt» e está em «/opt/smitey». Percorre o horário, todos os comandos e o caminho de volta mais uma vez, ao teu ritmo. Existe em alemão e em inglês: se escolheste alemão durante a instalação, recebes a versão alemã; caso contrário, a inglesa. As duas versões estão também em «/opt/smitey/docs».

«key --show» mostra a chave de recuperação, o ID da chave e o número de cópias sem cifra. Quando a chave estiver guardada fora do servidor, confirmas isso com «key --confirm-stored».

Uma cópia de outro servidor repões com «--key-file». O ficheiro que indicas contém a chave de recuperação. O ficheiro de «Save to file...» também serve para isto. Em vez do ficheiro, podes usar a variável de ambiente «SMITEY_BACKUP_KEY». Com «sudo» colocas a variável logo antes do programa, ou seja, «sudo SMITEY_BACKUP_KEY=<chave> /opt/smitey/Backup/TicketSystemBackup restore …». A chave fica então no histórico da shell. Se a chave não corresponder, nada é alterado.

«decrypt» escreve o conteúdo de uma cópia como ficheiros não cifrados numa pasta vazia. Estes ficheiros não estão cifrados. Contêm palavras-passe e dados pessoais. Apaga-os assim que acabares.

Mostrar as cópias que tens

sudo /opt/smitey/Backup/TicketSystemBackup list

Cada linha traz a hora, o motivo, o tamanho e o nome do ficheiro. É a mesma lista da janela.

Mostrar o horário

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

A primeira linha indica a hora definida com o seu fuso horário. A última diz se a tarefa existe mesmo no sistema operativo. Se disser «NO», não corre nada sozinho.

Alterar o horário

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

A hora vale no fuso horário do sistema de tickets. «--keep» diz quantas cópias diárias são mantidas. «schedule --off» desliga a cópia diária.

Criar uma cópia agora

sudo /opt/smitey/Backup/TicketSystemBackup backup

Esta cópia conta como «Manual». As cópias feitas à mão nunca são apagadas automaticamente.

Mostrar a chave de recuperação

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

A última linha diz se já confirmaste que a chave está guardada. O comando não cria nenhuma chave.

Repor uma cópia de outro servidor

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

Substitui <file> pelo nome ou pelo caminho da cópia. Crias antes o ficheiro «/root/recovery-key.txt». Ele contém a chave de recuperação. O ficheiro de «Save to file...» também serve.

Uma linha de comandos num servidor Linux com a lista de «list» e, por baixo, o resultado de «key --show».
Em cima, «list» mostra as cópias. As cópias mais antigas em formato ZIP têm a nota «(Not encrypted)». Por baixo, «key --show» dá a chave de recuperação, o ID da chave e o número de cópias sem cifra. A chave da imagem vem de um ambiente de teste.Abrir a imagem em tamanho real
7

As cópias ficam na mesma máquina

Antes de começares: Uma cópia ao lado do sistema não te protege da avaria de um disco. Copia os ficheiros para outro sítio com regularidade.

As cópias são ficheiros na pasta que definiste. Essa pasta está na mesma máquina que o sistema de tickets.

Para os casos mais comuns isso funciona bem. Dados apagados por engano, uma atualização que correu mal ou um erro nos dados estão todos cobertos.

Não ajuda contra a avaria do disco. Se o disco desaparecer, as cópias desaparecem com ele.

Por isso, copia os ficheiros para outro sítio. Uma unidade de rede, um segundo servidor ou um armazenamento na rede são suficientes.

Um ficheiro copiado pode ser recarregado em qualquer servidor. Num servidor diferente precisas para isso da chave de recuperação. Com «Import backup file…» trazes o ficheiro de volta à lista.

As cópias são cifradas. Ninguém as consegue ler sem a chave de recuperação. Por isso, não guardes a chave ao lado das cópias. As cópias mais antigas que terminam em «.zip» não estão cifradas.

O separador «Settings» com o campo «Backup directory».
O campo «Backup directory» diz onde estão os ficheiros. É essa a pasta que deves copiar regularmente para outro sítio.Abrir a imagem em tamanho real
8

Antes de cada atualização o sistema guarda sozinho

Uma atualização faz antes uma cópia própria. Isso acontece independentemente do teu horário e sem teres de assinalar nada.

Guarda o mesmo de sempre: a base de dados, os anexos, os arquivos e as chaves. Se a base de dados correr fora do SMITEY, a atualização guarda só os anexos, os arquivos e as chaves.

Esta cópia é feita pela aplicação «Ticket System Backup & Restore». É cifrada como qualquer outra e fica na mesma pasta. Na lista, o seu tipo é «Update». As três cópias mais recentes deste tipo são mantidas. A aplicação apaga as mais antigas sozinha.

O aviso antes da atualização di-lo. Não tens de te lembrar de guardar primeiro.

Se esta cópia de segurança falhar, a atualização para antes de substituir o que quer que seja. Uma base de dados fora do SMITEY não atrasa a atualização. A atualização reconfigura então a aplicação para que a cópia diária também deixe a base de dados de fora. Faz a cópia desta base de dados com as tuas próprias ferramentas.

Mais sobre isto no cartão: Atualizar com o carregar de um botão

A confirmação antes da atualização com a nota sobre a cópia de segurança.
A frase «A full backup is taken automatically beforehand» faz parte da pergunta. A cópia corre antes de alguma coisa ser substituída.Abrir a imagem em tamanho real

As imagens são da versão 1.3.1. Nada mudou nos ecrãs apresentados até à versão 1.13.3. A única coisa com outro aspeto é o número de versão no fundo da barra lateral.