===== Nível Básico =====
=== 1. Backup Simples com `cp` ===
* **cp** - Copia arquivos e diretórios para criar backups simples.
- Exemplo de uso: cp -r /home/usuario/documentos /backup/
- Descrição: Copia recursivamente todos os arquivos do diretório ''/home/usuario/documentos'' para o diretório de backup ''/backup/''.
=== 2. Verificação de Espaço em Disco com `df` ===
* **df -h** - Exibe o uso de disco em formato legível.
- Exemplo de uso: df -h
- Descrição: Mostra o espaço usado e disponível em cada sistema de arquivos montado, útil para verificar o espaço antes de realizar backups.
=== 3. Backup de Arquivo Único com `cp` ===
* **cp arquivo.txt /backup/** - Faz o backup de um único arquivo.
- Exemplo de uso: cp arquivo.txt /backup/
- Descrição: Copia o arquivo ''arquivo.txt'' para o diretório ''/backup/'', criando uma cópia simples de segurança.
=== 4. Compactação de Diretórios com `tar` ===
* **tar -cvf** - Cria um arquivo compactado (tarball) de um diretório.
- Exemplo de uso: tar -cvf backup.tar /home/usuario/documentos
- Descrição: Cria um arquivo compactado ''backup.tar'' contendo todos os arquivos do diretório ''/home/usuario/documentos''.
===== Nível Intermediário =====
=== 1. Backup Incremental com `rsync` ===
* **rsync** - Sincroniza arquivos e diretórios de forma eficiente.
- Exemplo de uso: rsync -av /home/usuario/documentos /backup/
- Descrição: Sincroniza o diretório ''/home/usuario/documentos'' com ''/backup/''. Apenas arquivos novos ou modificados são copiados, tornando o processo mais rápido e eficiente.
* **rsync --delete** - Remove arquivos no destino que não existem mais na origem.
- Exemplo de uso: rsync -av --delete /home/usuario/documentos /backup/
- Descrição: Sincroniza o diretório e remove os arquivos no diretório de destino ''/backup/'' que foram apagados da origem, garantindo que os dois diretórios estejam sincronizados.
=== 2. Compactação com `gzip` ===
* **tar -czvf** - Compacta um diretório e o comprime com gzip.
- Exemplo de uso: tar -czvf backup.tar.gz /home/usuario/documentos
- Descrição: Cria um arquivo compactado e comprimido chamado ''backup.tar.gz'' contendo todos os arquivos do diretório ''/home/usuario/documentos'', economizando espaço em disco.
=== 3. Backup de Configurações com `rsync` ===
* **rsync de arquivos de configuração** - Copia apenas arquivos de configuração.
- Exemplo de uso: rsync -av /etc/ /backup/etc/
- Descrição: Faz o backup do diretório de configurações do sistema ''/etc'' para ''/backup/etc'', garantindo a cópia de todos os arquivos de configuração essenciais.
=== 4. Agendamento de Backup com `cron` ===
* **cron** - Agendamento automático de backups com rsync.
- Exemplo de uso:
crontab -e
# Adiciona o seguinte para agendar um backup diário às 2h da manhã
0 2 * * * rsync -av /home/usuario/documentos /backup/
- Descrição: Usa o ''cron'' para agendar um backup diário às 2h da manhã, utilizando o comando ''rsync'' para sincronizar o diretório de documentos com o backup.
===== Nível Avançado =====
=== 1. Compressão Avançada com `bzip2` ===
* **tar -cjvf** - Cria e comprime um arquivo tar usando bzip2.
- Exemplo de uso: tar -cjvf backup.tar.bz2 /home/usuario/documentos
- Descrição: Compacta o diretório ''/home/usuario/documentos'' em um arquivo ''backup.tar.bz2'' usando o algoritmo bzip2, que oferece melhor compressão do que gzip, mas pode ser mais lento.
=== 2. Backup Diferencial com `rsync` ===
* **rsync com links simbólicos** - Faz backups diferenciais.
- Exemplo de uso:
rsync -av --link-dest=/backup/dia_anterior/ /home/usuario/documentos /backup/hoje/
- Descrição: Sincroniza o diretório de origem com o diretório de backup do dia atual, mas usando links simbólicos para arquivos que não mudaram desde o backup do dia anterior, economizando espaço.
=== 3. Backup de Rede com `rsync` ===
* **rsync sobre SSH** - Sincroniza arquivos entre máquinas remotas.
- Exemplo de uso:
rsync -avz -e ssh /home/usuario/documentos usuario@192.168.1.100:/backup/
- Descrição: Sincroniza o diretório ''/home/usuario/documentos'' com uma máquina remota no endereço IP ''192.168.1.100'' usando SSH para garantir a segurança da transferência.
=== 4. Verificação de Integridade com `md5sum` ===
* **md5sum** - Gera checksums para verificação de integridade de arquivos.
- Exemplo de uso:
md5sum backup.tar.gz > backup.md5
md5sum -c backup.md5
- Descrição: O primeiro comando gera um checksum MD5 do arquivo ''backup.tar.gz'' e o armazena no arquivo ''backup.md5''. O segundo comando verifica a integridade do backup comparando o checksum original com o atual.
=== 5. Backup Completo do Sistema com `dd` ===
* **dd** - Cria uma imagem de disco do sistema completo.
- Exemplo de uso: sudo dd if=/dev/sda of=/backup/imagem_sistema.img bs=64K
- Descrição: Cria uma imagem completa do disco ''/dev/sda'' e a salva no arquivo ''imagem_sistema.img''. Esse comando faz uma cópia bit a bit de todo o disco, útil para backups completos ou clonagem.
=== 6. Divisão de Arquivos Grandes com `split` ===
* **split** - Divide um arquivo grande em partes menores.
- Exemplo de uso: split -b 500M backup.tar.bz2 backup_part_
- Descrição: Divide o arquivo ''backup.tar.bz2'' em partes de 500 MB cada, criando arquivos sequenciais chamados ''backup_part_aa'', ''backup_part_ab'', etc., útil para mover arquivos grandes para sistemas com limitações de tamanho de arquivo.
===== Nível Especializado =====
=== 1. Backup Incremental com `borgbackup` ===
* **borg init** - Inicializa um repositório de backup criptografado.
- Exemplo de uso: borg init --encryption=repokey /backup/repositorio
- Descrição: Cria um repositório de backup no diretório ''/backup/repositorio'' com criptografia habilitada. O ''borg'' é uma ferramenta eficiente para backups incrementais com deduplicação e criptografia.
* **borg create** - Cria um backup incremental.
- Exemplo de uso: borg create /backup/repositorio::backup-{now} /home/usuario/
- Descrição: Cria um backup incremental do diretório ''/home/usuario/'' no repositório ''/backup/repositorio'', deduplicando dados já salvos e compactando apenas arquivos novos ou modificados.
=== 2. Backup e Recuperação com `restic` ===
* **restic init** - Inicializa um repositório de backup seguro.
- Exemplo de uso: restic init -r /backup/repositorio
- Descrição: Inicializa um repositório de backup no diretório ''/backup/repositorio''. O ''restic'' é uma ferramenta que suporta backups criptografados e deduplicação de dados.
* **restic backup** - Faz o backup de diretórios.
- Exemplo de uso: restic backup /home/usuario -r /backup/repositorio
- Descrição: Realiza o backup do diretório ''/home/usuario'' para o repositório em ''/backup/repositorio'', garantindo que os dados estejam seguros e criptografados.
* **restic restore** - Restaura arquivos a partir de um backup.
- Exemplo de uso: restic restore latest -r /backup/repositorio --target /home/usuario/recuperado
- Descrição: Restaura o backup mais recente para o diretório ''/home/usuario/recuperado'', permitindo a recuperação dos dados em caso de perda.
=== 3. Backup em Nuvem com `rclone` ===
* **rclone sync** - Sincroniza dados com serviços de armazenamento em nuvem.
- Exemplo de uso: rclone sync /home/usuario/documentos remote:/backup_nuvem/
- Descrição: Sincroniza o diretório ''/home/usuario/documentos'' com o armazenamento em nuvem configurado no ''remote:/backup_nuvem'', garantindo uma cópia segura e remota dos dados.
* **rclone crypt** - Usa criptografia para backups em nuvem.
- Exemplo de uso: rclone sync /home/usuario/documentos crypt:/backup_nuvem/
- Descrição: Sincroniza os dados com criptografia habilitada no destino remoto, adicionando uma camada de segurança ao backup em nuvem.
=== 4. Backup Automático com `cron` e `rsnapshot` ===
* **rsnapshot** - Backup automatizado com retenção de versões.
- Exemplo de uso:
crontab -e
# Adiciona a linha para um backup diário
0 3 * * * /usr/bin/rsnapshot daily
- Descrição: Usa ''rsnapshot'' para automatizar backups diários e gerenciar várias versões (diárias, semanais, mensais) sem duplicação de dados. O ''rsnapshot'' usa ''rsync'' e hard links para economizar espaço em disco.
=== 5. Backup de Máquinas Virtuais com `virt-backup` ===
* **virt-backup** - Backup de VMs (Máquinas Virtuais) no KVM.
- Exemplo de uso:
virt-backup --domain vm01 --backup-dir /backup/vms --mode snapshot
- Descrição: Faz o backup da máquina virtual ''vm01'' usando o modo ''snapshot'' para garantir que a VM esteja em um estado consistente, salvando os dados em ''/backup/vms''.
=== 6. Verificação e Recuperação de Arquivos com `par2` ===
* **par2create** - Gera arquivos de paridade para recuperação de dados.
- Exemplo de uso: par2create backup.par2 backup.tar.gz
- Descrição: Cria arquivos de paridade que podem ser usados para verificar e recuperar o arquivo ''backup.tar.gz'' em caso de corrupção.
* **par2verify** - Verifica a integridade de um arquivo de backup.
- Exemplo de uso: par2verify backup.par2
- Descrição: Verifica se o arquivo ''backup.tar.gz'' está íntegro e não sofreu corrupção ao longo do tempo. Em caso de corrupção, pode-se tentar uma recuperação usando os arquivos de paridade.