A perda de dados em servidores de produção pode destruir a reputação de uma empresa e causar enormes prejuízos financeiros. Embora provedores de VPS ofereçam snapshots de disco, possuir backups independentes e armazenados fora do servidor de origem é uma regra de ouro de infraestrutura.
Neste guia, ensinamos como criar uma rotina automatizada de backup de arquivos e bancos de dados para o armazenamento em nuvem Amazon S3 (ou qualquer object storage compatível, como MinIO ou Backblaze).
1. Configurando as Credenciais (AWS CLI)
O utilitário recomendado para interagir com o S3 a partir do terminal Linux é o AWS CLI.
Instalação e Configuração:
1. Instale o pacote: `sudo apt install awscli -y` 2. Crie uma chave de acesso (Access Key e Secret Key) no console da AWS através do serviço IAM, limitando as permissões apenas para ações no bucket de backup desejado. 3. Configure as credenciais no servidor Linux executando: `aws configure`2. Escrevendo o Script de Backup
Crie um script em bash para automatizar o dump do banco de dados (neste exemplo, PostgreSQL) e a compactação da pasta de arquivos estáticos.
```bash
#!/bin/bash
Configurações
BACKUP_DIR="/tmp/backups" BUCKET_NAME="meu-bucket-de-backup-seguro" DATA=$(date +%Y-%m-%d-%H%M)Criar pasta temporária
mkdir -p $BACKUP_DIR1. Backup do Banco de Dados
pg_dump -U postgres meu_banco > $BACKUP_DIR/db_$DATA.sql2. Compactação dos arquivos da aplicação
tar -czf $BACKUP_DIR/arquivos_$DATA.tar.gz /var/www/minha-app3. Envio criptografado para o S3
aws s3 cp $BACKUP_DIR/db_$DATA.sql s3://$BUCKET_NAME/db_$DATA.sql --sse AES256 aws s3 cp $BACKUP_DIR/arquivos_$DATA.tar.gz s3://$BUCKET_NAME/arquivos_$DATA.tar.gz --sse AES256Limpeza de arquivos locais temporários
rm -rf $BACKUP_DIR ```3. Automatizando com o Cron Job
Para rodar o script automaticamente todas as noites (às 02:00 da manhã):
1. Abra as tarefas agendadas do sistema:
`sudo crontab -e`
2. Adicione a linha no final do arquivo:
`0 2 * * * /home/usuario/scripts/backup.sh > /dev/null 2>&1`
Conclusão
Ter políticas de backup automatizadas e armazenadas fora da infraestrutura de origem é indispensável. Configurando criptografia no nível do S3 e monitorando a execução desses scripts, seu negócio estará totalmente protegido contra exclusões acidentais, desastres de hardware ou ataques virtuais.