Um arquivo de configuração excluído ou substituído muito rapidamente pode colocar um serviço no estado errado. Com o Restic, a armadilha consiste em restaurar diretamente no caminho ativo. Primeiro, recupere o arquivo em um diretório de teste e, em seguida, compare-o antes de qualquer cópia.
A método parte de um repositório já inicializado e acessível com as credenciais habituais. Ele visa um arquivo específico, por exemplo /etc/mon-service/config.ini, e deixa a versão atualmente utilizada intacta até que o controle seja concluído.

Identificar o instantâneo e o caminho a ser recuperado
Defina o repositório com as mesmas variáveis ou o mesmo arquivo de ambiente que seu backup. Evite colar a senha do repositório no histórico do Bash. Se o serviço Restic já estiver em execução em um script ou uma unidade systemd, utilize seu mecanismo de autenticação em vez de criar um novo para a restauração.
Comece listando os instantâneos que contêm o caminho procurado:
export RESTIC_REPOSITORY=/srv/restic-repo
restic snapshots --path /etc/mon-service/config.ini
A saída exibe os identificadores, a data, o host e os caminhos salvos. Escolha um identificador específico em vez de latest se várias máquinas ou várias backups puderem conter esse arquivo. Neste exemplo, substitua 8f3a1c2d pelo identificador escolhido.
SNAPSHOT=8f3a1c2d
restic ls "$SNAPSHOT" --path /etc/mon-service/config.ini
restic ls confirma o caminho presente no arquivo antes de escrever qualquer coisa. Se nenhum resultado corresponder, pare por aqui. Um caminho digitado incorretamente ou um instantâneo feito após o incidente não será reparado por uma segunda restauração.
Restaurar em um diretório de teste
Crie um diretório reservado para controle. Não deve ser um ponto de montagem de produção ou a pasta do serviço em questão:
sudo install -d -m 0700 /srv/restore-restic-test
restic restore "$SNAPSHOT"
--target /srv/restore-restic-test
--include /etc/mon-service/config.ini
O Restic recria a estrutura sob o alvo. O arquivo restaurado ficará aqui:
/srv/restore-restic-test/etc/mon-service/config.ini
Este diretório separado evita sobrescrever /etc/mon-service/config.ini durante o teste. Essa é a escolha a manter para um arquivo de serviço, uma chave de configuração ou um banco de dados exportado. Uma restauração direta na raiz transforma um erro de instantâneo em incidente de produção.
Comparar o arquivo antes de colocá-lo de volta em serviço
Primeiro, verifique as permissões, o tamanho e as diferenças. O comando diff não modifica nenhum arquivo:
sudo stat /etc/mon-service/config.ini
sudo stat /srv/restore-restic-test/etc/mon-service/config.ini
sudo diff -u
/etc/mon-service/config.ini
/srv/restore-restic-test/etc/mon-service/config.ini
Um diff sem saída retorna o código 0: os dois conteúdos são idênticos. Se ele mostrar linhas removidas e adicionadas, leia-as antes de decidir. Um endereço antigo, uma porta ou um segredo expirado pode ser exatamente a razão pela qual o arquivo mudou.
Quando a cópia restaurada é a correta, primeiro faça backup da versão ativa, depois substitua-a em uma curta janela de manutenção. Em seguida, verifique a sintaxe e o estado do serviço com os comandos adequados para seu software, por exemplo systemctl status mon-service e o log associado.
O controle de restauração merece o mesmo cuidado que um backup. O guia BorgBackup aplica a mesma lógica com uma extração fora de produção. Para encontrar um caminho antes de iniciar o Restic, o comando find no Linux evita restaurar um arquivo homônimo no local errado.
Quando não restaurar um único arquivo
Um arquivo isolado é suficiente para uma configuração excluída ou uma versão sobrescrita. No entanto, muitas vezes não é suficiente para uma aplicação que distribui seu estado entre um banco de dados, arquivos e um log de transações. Nesse caso, restaure um conjunto coerente em uma VM ou diretório isolado e valide o procedimento com o serviço parado ou uma cópia de teste.
A documentação do Restic sobre restauração descreve a segmentação por instantâneo, caminho e diretório de destino. Mantenha o diretório de teste até a verificação final. Sua exclusão após validação não afeta o repositório Restic nem o arquivo ativo.