Las instantáneas diarias de su anfitrión son seguros contra errores, no contra perder a todo el anfitrión. Los respaldos reales viven en otro lugar y están encriptados. restic hace ambos, y es un binario.
apt update && apt install -y restic
restic escribe un único repositorio encriptado. Puede vivir en S3, Backblaze B2, otro servidor sobre SFTP, o incluso un segundo Buran VPS.
export RESTIC_REPOSITORY="sftp:backup@other-host:/srv/backups/myserver"
export RESTIC_PASSWORD="a-long-unique-passphrase"
restic init
Mantenga la contraseña en un administrador de contraseñas. Si lo pierdes, los datos se han ido, ese es el punto de encriptación. Para trabajos automáticos, guárdalo en un archivo ambiental legible sólo 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
Las bases de datos necesitan un vertedero, no una copia de archivo: un directorio de datos PostgreSQL es inconsistente. Suba primero, luego vuelve a la carpeta de dump. Vea nuestro Guía PostgreSQL para el comando de dump.
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
Una copia de seguridad que nunca has restaurado es una esperanza, no una copia de seguridad. Repita la prueba cada pocos meses — y compruebe que el repositorio realmente crece.
En cualquier lugar excepto la máquina que está respaldando: almacenamiento de objetos como Backblaze B2, otro servidor sobre SFTP, o un segundo VPS. Los respaldos en el mismo anfitrión no sobreviven a un anfitrión perdido.
restic deduplica y comprime, por lo que un servidor típico rara vez crece más de unos pocos GB por mes de cambios. 50–100 GB de almacenamiento remoto es suficiente para un pequeño servidor.
Sí. Las instantáneas Buran restauran toda una máquina con un solo clic y son perfectas para “lo rompí hace cinco minutos”. Las copias de seguridad fuera del sitio cubren la pérdida de hardware y errores del operador que sobrevivan la ventana de instantáneas.
¿Necesitas una segunda máquina para mantener copias de seguridad? Una caja NAT de 3 € funciona bien.