Backup automático da VPS para o Object Storage com rclone

Henrique Siqueira

Henrique Siqueira

Última atualização em Sep 29, 2026

Snapshot protege contra mudança que deu errado; backup fora da VPS protege contra tudo o mais (invasão, exclusão, cancelamento, disco perdido). Com o Object Storage isso fica automático em 10 minutos.

Pré-requisito: rclone configurado com o remote lura, veja Como conectar com rclone. Crie um bucket, por exemplo backups-vps.

1. O script

sudo nano /usr/local/bin/backup.sh:

#!/bin/bash
set -e
DATA=$(date +%F)
DEST="lura:backups-vps/$(hostname)"
TMP=/tmp/backup-$DATA
mkdir -p $TMP

# 1) bancos de dados (ajuste ou remova o que não usa)
mysqldump --all-databases -u root -pSENHA | gzip > $TMP/mysql-$DATA.sql.gz
# sudo -u postgres pg_dumpall | gzip > $TMP/postgres-$DATA.sql.gz

# 2) pastas importantes
tar -czf $TMP/www-$DATA.tar.gz /var/www
tar -czf $TMP/etc-$DATA.tar.gz /etc
# docker: volumes (pare containers sensíveis antes se precisar de consistência)
tar -czf $TMP/docker-volumes-$DATA.tar.gz /var/lib/docker/volumes

# 3) envia para o bucket
rclone copy $TMP $DEST/$DATA --transfers 4

# 4) apaga backups com mais de 30 dias no bucket
rclone delete $DEST --min-age 30d
rclone rmdirs $DEST --leave-root

rm -rf $TMP
echo "backup $DATA ok"
sudo chmod 700 /usr/local/bin/backup.sh
sudo /usr/local/bin/backup.sh     # teste
rclone lsd lura:backups-vps/$(hostname)   # confira

Dica: em vez da senha no script, use um arquivo ~/.my.cnf com [client] user=root password=... (chmod 600) e remova -pSENHA.

2. Agendar todo dia às 3h

sudo crontab -e
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

3. Testar a restauração (a parte que todo mundo pula)

rclone copy lura:backups-vps/$(hostname)/2026-09-29 /restore
zcat /restore/mysql-2026-09-29.sql.gz | mysql -u root -p
tar -xzf /restore/www-2026-09-29.tar.gz -C /

Faça isso uma vez por mês. Backup que nunca foi restaurado é uma aposta.

Windows

Instale o rclone, configure o remote e use o Agendador de Tarefas com um .bat:

"C:\rclone\rclone.exe" copy "C:\Dados" lura:backups-vps/servidor-win/%date:~-4%-%date:~3,2%-%date:~0,2% --transfers 4

Quanto vai custar

Backup diário com 30 dias de retenção ocupa ~30× o tamanho de um backup (menos com compressão). Veja o consumo no painel do Object Storage e ajuste a retenção (--min-age).