> For the complete documentation index, see [llms.txt](https://docs.linuxcontrolcenter.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.linuxcontrolcenter.com.br/conf-integrations/configuracoes/backup-and-restore.md).

# Backup e Restauração

## Versão

* Linux Control Center = 2.10.X ou superior

## Requisitos

* Acesso SSH no Host do LCC com usuário root

## Overview

* Este guia provê informações e passo a passo para realizar backup e restauração do LCC

## Objetivo

* Demonstrar o processo de backup e restauração completa do LCC por meio da interface CLI.

### Diretório Padrão de Backup

{% hint style="warning" %}
Recomendamos fortemente que os backups gerados sejam copiados para um local seguro, garantindo a preservação dos dados caso seja necessária alguma intervenção no futuro.

**Diretório de destino dos backups:** `/opt/lcc/bkp/`

Os arquivos de backup de configuração terão o nome no formato `backup_config_YYYY-MM-DD_HH-MM-SS.tar.gz`, indicando o ano, mês, dia, hora, minuto e segundos em que o backup foi criado. Esses arquivos contêm as configurações necessárias para o funcionamento do LCC.

O arquivo de backup do banco de dados será nomeado no formato `lcc_db_YYYY-MM-DD_HH-MM-SS.sql`, seguindo o mesmo padrão. Este arquivo armazena todo o banco de dados, permitindo a recuperação completa das informações armazenadas.
{% endhint %}

### Parando os Containers

1. Antes de realizar o backup, é necessário parar os processos dos Containers do LCC separadamente para maior integridade dos dados.
   1. **Container lcc\_console**\
      Comando: `docker stop lcc_console`
   2. **Container lcc\_worker**\
      Comando: `docker stop lcc_worker`
   3. **Container lcc\_alert\_report**\
      Comando: `docker stop lcc_alert_report`
2. Veja o exemplo na imagem abaixo:

   ![](/files/xTAJwoTrnZVV0RARfNXX)

### Backup de Arquivos de Configuração

1. Este comando realiza o backup de todos os arquivos com extensão `.yml` que foram gerados durante a instalação. Estes arquivos são essenciais para o funcionamento do LCC.

   Comando: `lcc-cli backup -a`
2. O backup estará compactado na extensão tar.gz

   ![](/files/Kdda3hLFBuH4Aug8hfa2)

{% hint style="warning" %}
O banco de dados do LCC é criptografado, e dentro deste backup compactado terá o arquivo chamado`crypt.yml`, cujo é a chave para descriptografar durante a restauração.

Sem esta chave será impossível restauração do banco de dados.
{% endhint %}

### Backup do Banco de Dados

1. Para realizar o backup do banco de dados do LCC, execute o comando abaixo;

   Comando: `lcc-cli database --backup`
2. O backup terá a extensão .sql com a data e hora da execução do comando de criação do backup.

   ![](/files/XExJzcSdLyFsV49b5Bbo)

### Restaurando Backup

1. Para realizar a restauração do LCC, é necessário extrair todos os [Arquivos de Configuração](#backup-de-arquivos-de-configuracao) para o diretório raiz do sistema `/` com o usuário root

   Comando: `tar -xzvf nome_do_arquivo.tar.gz -C /`

   ![](/files/KCy8lpa2W3b6XSFXoIQr)
2. Após extrair os arquivos, execute o comando para restaurar o LCC a partir do arquivo `.sql` criado na etapa de [Backup do Banco de Dados](#backup-do-banco-de-dados).

   Comando: `lcc-cli database --restore nome_do_arquivo.sql`
3. Verifique se está utilizando o backup correto e confirme digitando **y** e pressionando **enter**

   ![](/files/rQSENKeoTPGsn0xAhFuJ)

### Iniciando os Containers

1. Após a restauração ser concluída, execute os comandos para inicar os Containers.
   1. **Container lcc\_console**\
      Comando: `docker start lcc_console`
   2. **Container lcc\_worker**\
      Comando: `docker start lcc_worker`
   3. **Container lcc\_alert\_report**\
      Comando: `docker start lcc_alert_report`
2. Veja o exemplo na imagem abaixo:

   ![](/files/ihzIljf7DtW7Lm3x79p1)
3. O LCC estará pronto para o uso normalmente após a inicialização dos Containers finalizarem.

   ![](/files/X80kUMatkkAWyiGAJvrT)
