Implementando Resiliência de Dados: Backups e Integridade de Arquivos

CompTIABeginner
Pratique Agora

Introdução

No mundo da computação, os dados são inestimáveis. A perda de dados, seja devido a falha de hardware, exclusão acidental ou ataques maliciosos, pode ser catastrófica. A resiliência de dados é a prática de garantir que seus dados estejam protegidos, disponíveis e possam ser recuperados em caso de falha.

Este laboratório irá introduzi-lo a dois conceitos fundamentais de resiliência de dados em sistemas Linux: a criação de backups e a verificação da integridade de arquivos. Você usará ferramentas padrão de linha de comando do Linux para realizar essas tarefas.

Você aprenderá a:

  • Usar o comando tar para criar um arquivo compactado (backup) de arquivos importantes.
  • Simular um cenário de perda de dados excluindo arquivos.
  • Restaurar seus dados do arquivo de backup.
  • Usar checksums com md5sum para verificar se seus arquivos não foram alterados ou corrompidos.

Ao final deste laboratório, você terá experiência prática e direta com habilidades essenciais para qualquer administrador de sistema ou desenvolvedor.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 100%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Criar um Backup Local de Arquivos Críticos com Tar

Nesta etapa, você aprenderá a criar um backup compactado de um diretório usando o utilitário tar (Tape Archive). tar é um comando poderoso e amplamente utilizado para agrupar arquivos e diretórios em um único arquivo de archive, que pode então ser compactado para economizar espaço. Este é um método comum para criar backups locais.

Primeiro, vamos verificar os arquivos que foram criados para você pelo script de configuração. Todo o seu trabalho será feito no diretório ~/project.

Liste o conteúdo do diretório ~/project:

ls -R ~/project

Você deverá ver o diretório critical_data com seus arquivos e um diretório backups vazio.

/home/labex/project:
backups  critical_data

/home/labex/project/backups:

/home/labex/project/critical_data:
config.txt  user_data.csv

Agora, vamos criar um backup compactado do diretório critical_data e armazená-lo no diretório backups. Usaremos o comando tar com as seguintes opções:

  • c: Criar um novo archive.
  • z: Compactar o archive com gzip. É por isso que o arquivo terá a extensão .gz.
  • v: Modo verbose (detalhado). Liste os arquivos conforme eles estão sendo processados.
  • f: Especifica o nome do arquivo do archive a ser criado.
  • -C: Mudar para o diretório especificado antes de criar o archive. Isso garante que armazenemos caminhos relativos em vez de caminhos absolutos, tornando o backup mais portátil e evitando estruturas de diretórios aninhadas durante a extração.

Execute o seguinte comando no seu terminal:

tar -czvf ~/project/backups/backup.tar.gz -C ~/project critical_data

O comando exibirá os nomes dos arquivos que ele está adicionando ao archive:

critical_data/
critical_data/config.txt
critical_data/user_data.csv

Você agora criou um backup com sucesso. Para ter certeza, você pode listar o conteúdo do diretório backups:

ls ~/project/backups

Você deverá ver seu novo arquivo de backup:

backup.tar.gz

Simular Perda de Dados e Restaurar a Partir do Backup

Nesta etapa, você simulará um cenário comum de desastre: exclusão acidental de dados. Em seguida, usará o arquivo de backup que criou na etapa anterior para restaurar os dados perdidos.

Primeiro, vamos simular a perda de dados excluindo permanentemente o diretório critical_data. O comando rm -rf é muito poderoso e deve ser usado com cautela; ele remove diretórios e arquivos recursivamente (-r) e forçadamente (-f) sem solicitar confirmação.

Execute o seguinte comando para excluir o diretório:

rm -rf ~/project/critical_data

Agora, verifique se o diretório foi removido listando o conteúdo do seu diretório de projeto:

ls ~/project

Você verá que o diretório critical_data não está mais lá:

backups

Não se preocupe! É por isso que temos backups. Agora, vamos restaurar o diretório do archive backup.tar.gz. Usaremos o comando tar novamente, mas com opções diferentes:

  • x: Extrair arquivos de um archive.
  • z: Descompactar o archive com gzip.
  • v: Modo verbose (detalhado), para ver os arquivos conforme eles são extraídos.
  • f: Especifica o nome do arquivo do archive a ser usado.
  • -C: Especifica o diretório para onde os arquivos serão extraídos. Vamos extraí-los para ~/project.

Execute este comando para restaurar seus dados:

tar -xzvf ~/project/backups/backup.tar.gz -C ~/project

Você verá a saída dos arquivos sendo extraídos:

critical_data/
critical_data/config.txt
critical_data/user_data.csv

Observe que o tar preservou a estrutura original do diretório, mas sem os prefixos de caminho absoluto, pois usamos a opção -C durante a criação do backup. Vamos verificar se a restauração foi bem-sucedida. Liste o conteúdo do diretório ~/project novamente:

ls -R ~/project

Você deverá ver que o diretório critical_data e todos os seus arquivos originais foram restaurados.

/home/labex/project:
backups  critical_data

/home/labex/project/backups:
backup.tar.gz

/home/labex/project/critical_data:
config.txt  user_data.csv

Você recuperou com sucesso de um evento simulado de perda de dados.

Monitorar Integridade de Arquivos com Checksums

Nesta etapa, você aprenderá a monitorar a integridade de arquivos. Um backup protege contra perda de dados, mas não informa se um arquivo foi sutilmente corrompido ou alterado maliciosamente. Um checksum (ou hash) é uma impressão digital digital única de um arquivo. Se até mesmo um bit no arquivo mudar, o checksum mudará completamente. Isso o torna uma excelente ferramenta para verificar a integridade de arquivos.

Usaremos o comando md5sum, que calcula um checksum MD5. Embora o SHA-256 (sha256sum) seja mais seguro criptograficamente, o md5sum é simples e suficiente para esta demonstração.

Primeiro, vamos gerar checksums para nossos arquivos críticos e salvá-los em um arquivo de referência.

md5sum ~/project/critical_data/* > ~/project/checksums.md5

Agora, visualize o conteúdo do arquivo checksums.md5 que você acabou de criar:

cat ~/project/checksums.md5

A saída mostrará um checksum único para cada arquivo. Seus valores de checksum serão idênticos a estes:

d7118547a95c5470575962481c2e358c  /home/labex/project/critical_data/config.txt
b643407358b9de495715f13432577d33  /home/labex/project/critical_data/user_data.csv

Agora, vamos simular uma modificação não autorizada em um dos arquivos. Adicionaremos um comentário ao arquivo config.txt.

echo "## This is a change" >> ~/project/critical_data/config.txt

O arquivo foi alterado. Para um observador que apenas olha a lista de arquivos, nada parece errado. Mas podemos usar nosso arquivo de checksums para verificar se há alterações. A opção -c instrui o md5sum a verificar os arquivos em relação a uma lista.

md5sum -c ~/project/checksums.md5

O comando verificará cada arquivo listado em checksums.md5 em relação ao seu estado atual no disco. A saída mostrará claramente que config.txt foi modificado:

/home/labex/project/critical_data/config.txt: FAILED
/home/labex/project/critical_data/user_data.csv: OK
md5sum: WARNING: 1 computed checksum did NOT match

Este status "FAILED" (FALHA) alerta imediatamente que o arquivo não está mais em seu estado original e confiável. Esta é uma técnica poderosa para detectar corrupção de dados ou violações de segurança.

Resumo

Parabéns por completar este laboratório! Você adquiriu experiência prática com práticas fundamentais de resiliência de dados em um ambiente Linux.

Neste laboratório, você aprendeu a:

  • Criar Backups: Você usou o comando tar para criar um backup compactado de arquivos críticos, uma habilidade essencial para prevenir a perda de dados.
  • Restaurar Dados: Você simulou um cenário de perda de dados e restaurou com sucesso seus arquivos de um archive tar, demonstrando um ciclo completo de backup e recuperação.
  • Verificar Integridade de Arquivos: Você usou md5sum para gerar e verificar checksums de arquivos, um método poderoso para detectar modificações não autorizadas ou corrupção de dados.

Essas habilidades são essenciais para manter a segurança e a disponibilidade de qualquer sistema. Fazer backup regular de dados e verificar sua integridade são componentes cruciais da administração responsável de sistemas e da implantação robusta de aplicações.