===== 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.