Home / Guías / Respaldos reinicios

Copias de seguridad encriptadas fuera del sitio con reposo

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.

1. Instalar restic

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.

2. Crear el repositorio

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

3. Primer respaldo

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.

4. Ejecutarlo nocturnamente con un temporizador sistematizado

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

5. Prueba el restablecimiento - hoy, no en una emergencia

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.

Respuestas rápidas

¿Dónde debería vivir el repositorio de respaldo?

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.

¿Cuánto espacio necesito?

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.

¿Todavía necesito instantáneas de host?

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.

Relacionados