Tutoriais técnicos
Solução de backup automático para VPS (2025) - Proteja seus dados contra perda catastrófica
O guia completo e mais recente de 2025 para backups automáticos em VPS. Aprenda a usar o Rclone para sincronizar bancos de dados e arquivos com armazenamento em nuvem (S3/OneDrive/GD) de forma agendada e construir uma linha de defesa inabalável para seus dados.

No mundo dos VPS, só existem dois tipos de pessoas: as que fazem backup e as que passaram por uma perda de dados e agora, em lágrimas, correm para configurar backups.
Seja por falha de hardware do SSD do provedor do servidor, ataque de hackers ou um deslize seu ao executar rm -rf /, sem backup todo o seu esforço (posts do blog, dados de usuários, arquivos de configuração) pode virar zero em um segundo.
Este artigo vai te ensinar a usar a poderosa ferramenta Rclone para construir uma solução de backup para VPS totalmente automatizada, externa e heterogênea.
Antes de entrar nos detalhes técnicos, lembre-se da regra de ouro do backup usada no mundo todo:
- 3 cópias: dados originais + 2 backups.
- 2 tipos de mídia: não guarde todas no mesmo disco.
- 1 cópia externa: pelo menos um backup deve estar em um local fisicamente diferente (como outro data center ou armazenamento em nuvem).
O Rclone é conhecido como "o canivete suíço do armazenamento em nuvem" e oferece suporte a mais de 50 provedores de armazenamento populares (como Google Drive, OneDrive, S3, Cloudflare R2 etc.).
Execute o script oficial de instalação com um clique:
sudo -v ; curl https://rclone.org/install.sh | sudo bash
Após a instalação, digite rclone config e siga as instruções para configurar seu armazenamento em nuvem.
Vamos dividir o backup em duas partes: bancos de dados e arquivos do site.
Crie um script de backup backup_db.sh:
#!/bin/bash
# 配置信息
DB_USER="backup_user"
DB_PASS="your_password"
DB_NAME="your_db_name"
BACKUP_DIR="/tmp/vps_bak/db"
DATE=$(date +%Y%m%d_%H%M%S)
# 创建备份目录
mkdir -p $BACKUP_DIR
# 导出数据库并压缩
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_DIR/${DB_NAME}_$DATE.sql.gz
# 上传到云端 (假设你配置的 rclone remote 名字叫 remote_backup)
rclone copy $BACKUP_DIR remote_backup:vps_backups/database/ -q
# 清理本地临时文件(保留 1 天)
find $BACKUP_DIR -mtime +1 -name "*.sql.gz" -exec rm -rf {} \;
Crie o script backup_files.sh:
#!/bin/bash
# 配置信息
SRC_DIR="/var/www/html"
BACKUP_DIR="/tmp/vps_bak/files"
DATE=$(date +%Y%m%d_%H%M%S)
# 创建备份目录
mkdir -p $BACKUP_DIR
# 压缩文件
tar -czf $BACKUP_DIR/web_files_$DATE.tar.gz $SRC_DIR
# 同步到云端
rclone copy $BACKUP_DIR remote_backup:vps_backups/files/ -q
# 清理本地 3 天前的备份
find $BACKUP_DIR -mtime +3 -name "*.tar.gz" -exec rm -rf {} \;
Com os scripts prontos, precisamos que eles rodem automaticamente todos os dias. Use o crontab nativo do Linux:
crontab -e
Adicione o seguinte conteúdo ao final do arquivo:
# 每天凌晨 2:00 备份数据库
0 2 * * * /bin/bash /path/to/backup_db.sh
# 每周日凌晨 3:00 备份网站文件
0 3 * * 0 /bin/bash /path/to/backup_files.sh
- Backups criptografados: o Rclone oferece suporte ao módulo
crypt, que pode criptografar os arquivos antes do upload. Mesmo que o provedor de armazenamento em nuvem seja invadido, o que os hackers obtiverem será um texto embaralhado impossível de decifrar. - Backups em vários locais: você pode configurar vários remotes do Rclone e fazer backup no OneDrive e no S3 ao mesmo tempo.
- Testes de restauração periódicos: esta é a parte mais importante! A cada mês, tente restaurar manualmente os dados a partir de um backup. Um backup que não pode ser restaurado não é um backup, é um placebo.
Montar essa solução leva apenas 10 minutos, mas compra um seguro por tempo indeterminado para o seu negócio de VPS. Em matéria de segurança de dados, qualquer preguiça pode custar caro.
Se você achar os scripts manuais trabalhosos demais, também pode experimentar ferramentas com interface gráfica, como Duplicati ou BorgBackup, que oferecem recursos de deduplicação e backup incremental.