Os instantâneos diários do seu anfitrião são seguros contra erros, não contra perder o anfitrião inteiro. Os backups reais vivem em outro lugar e são criptografados. restic faz ambos, e é um binário.
apt update && apt install -y restic
restic escreve um único repositório criptografado. Ele pode viver em S3, Backblaze B2, outro servidor sobre SFTP, ou até mesmo um segundo Buran VPS.
export RESTIC_REPOSITORY="sftp:backup@other-host:/srv/backups/myserver"
export RESTIC_PASSWORD="a-long-unique-passphrase"
restic init
Mantenha a frase- senha em um gerenciador de senha. Se você perdê-lo, os dados se foram — esse é o ponto de criptografia. Para tarefas automáticas, armazene- as em um arquivo de ambiente legível apenas por root:
cat > /etc/restic.env <<'EOF'
RESTIC_REPOSITORY=sftp:backup@other-host:/srv/backups/myserver
RESTIC_PASSWORD=change-me
EOF
chmod 600 /etc/restic.env
set -a; . /etc/restic.env; set +a
restic backup /etc /root /home /var/www --exclude-caches
restic snapshots
As bases de dados precisam de uma descarga, não de uma cópia de ficheiro: uma pasta de dados PostgreSQL em execução é inconsistente. Descarta primeiro, depois faz o backup da pasta. Veja o nosso Guia PostgreSQL para o comando de descarga.
cat > /etc/systemd/system/restic-backup.service <<'EOF'
[Unit]
Description=restic backup
[Service]
Type=oneshot
EnvironmentFile=/etc/restic.env
ExecStart=/usr/bin/restic backup /etc /root /home /var/www --exclude-caches
ExecStartPost=/usr/bin/restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
EOF
cat > /etc/systemd/system/restic-backup.timer <<'EOF'
[Unit]
Description=Nightly restic backup
[Timer]
OnCalendar=*-*-* 03:30:00
Persistent=true
[Install]
WantedBy=timers.target
EOF
systemctl daemon-reload
systemctl enable --now restic-backup.timer
set -a; . /etc/restic.env; set +a
restic snapshots
restic restore latest --target /tmp/restore-test
ls -la /tmp/restore-test/etc
Um backup que você nunca restaurou é uma esperança, não um backup. Repita o teste a cada poucos meses — e verifique se o repositório realmente cresce.
Qualquer lugar, exceto a máquina que você está fazendo backup: armazenamento de objetos como Backblaze B2, outro servidor sobre SFTP, ou um segundo VPS. Os backups no mesmo hospedeiro não sobrevivem a um hospedeiro perdido.
deduplica e comprime, então um servidor típico raramente cresce mais de alguns GB por mês de mudanças. 50–100 GB de armazenamento remoto é bastante para um servidor pequeno.
Sim. Buran instantâneos restaurar uma máquina inteira em um clique e são perfeitos para "Eu quebrei há cinco minutos". Os backups restic fora do local cobrem perda de hardware e erros de operador que sobrevivem à janela de instantâneo.
Precisa de uma segunda máquina para segurar backups? Uma caixa NAT de 3 € funciona bem.