Skip to Content
DocumentaciónOperacionesAdministración del sistemaCopia de seguridad y recuperación

Copia de seguridad y recuperación

La copia de seguridad de datos es uno de los aspectos más importantes de la administración del sistema. Este artículo presenta varias soluciones de respaldo y recuperación en Ubuntu 26.04 para ayudarlo a elegir la herramienta adecuada para sus necesidades.

rsync - Herramienta de sincronización flexible

rsync es una herramienta de sincronización de archivos rápida y flexible que admite transferencias incrementales y es una de las herramientas de copia de seguridad más utilizadas en Linux.

Uso básico

# Local directory sync rsync -av /source/directory/ /backup/directory/ # Note: the trailing slash on the source path matters # /source/dir/ -> syncs the contents of the directory # /source/dir -> syncs the directory itself (including the directory name)

Opciones comunes

# -a archive mode (preserves permissions, timestamps, symlinks, etc.) # -v verbose output # -z compress during transfer # -h human-readable output # --progress show progress # --delete delete files in the target that don't exist in the source # Complete local backup command rsync -avh --progress /home/user/ /backup/home-user/ # Backup with exclusion rules rsync -avh --progress \ --exclude='.cache' \ --exclude='node_modules' \ --exclude='.local/share/Trash' \ /home/user/ /backup/home-user/ # Using an exclude file rsync -avh --exclude-from='/home/user/rsync-excludes.txt' \ /home/user/ /backup/home-user/

Copia de seguridad remota

# Backup to a remote server via SSH rsync -avz -e ssh /home/user/ user@remote:/backup/home-user/ # Specify SSH port rsync -avz -e "ssh -p 2222" /home/user/ user@remote:/backup/home-user/ # Restore from a remote server rsync -avz user@remote:/backup/home-user/ /home/user/ # Use --delete to keep both sides in sync rsync -avz --delete /home/user/ user@remote:/backup/home-user/

Script de copia de seguridad rsync automatizado

Cree un script de respaldo:

sudo nano /usr/local/bin/daily-backup.sh
#!/bin/bash # Configuration SOURCE="/home/" DEST="/backup/daily" LOG="/var/log/backup.log" DATE=$(date +%Y-%m-%d_%H%M%S) # Create log entry echo "===== Backup started: $DATE =====" >> "$LOG" # Execute backup rsync -avh --delete \ --exclude='.cache' \ --exclude='node_modules' \ --exclude='.local/share/Trash' \ "$SOURCE" "$DEST" >> "$LOG" 2>&1 # Record result if [ $? -eq 0 ]; then echo "Backup completed successfully: $(date)" >> "$LOG" else echo "Backup failed: $(date)" >> "$LOG" fi
sudo chmod +x /usr/local/bin/daily-backup.sh

Programelo con cron:

# Run backup every day at 2 AM sudo crontab -e # Add: 0 2 * * * /usr/local/bin/daily-backup.sh

Timeshift: instantáneas del sistema

Timeshift se centra en las instantáneas y la recuperación de archivos del sistema, similar a Restaurar sistema de Windows.

Instalación y configuración

# Install Timeshift sudo apt install timeshift # Launch the graphical interface sudo timeshift-gtk # Create a snapshot via command line sudo timeshift --create --comments "Before installing NVIDIA driver" # List all snapshots sudo timeshift --list # Restore to a specific snapshot sudo timeshift --restore --snapshot '2026-03-24_10-00-00' # Delete a snapshot sudo timeshift --delete --snapshot '2026-03-24_10-00-00'

Configuración de línea de comandos

# View current configuration sudo timeshift --config # Set snapshot type (RSYNC or BTRFS) sudo timeshift --snapshot-device /dev/sda2

Archivo de configuración de Timeshift

Editar /etc/timeshift/timeshift.json:

{ "backup_device_uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "parent_device_uuid": "", "do_first_run": false, "btrfs_mode": false, "include_btrfs_home": false, "schedule_monthly": false, "schedule_weekly": true, "schedule_daily": true, "schedule_hourly": false, "schedule_boot": false, "count_monthly": 2, "count_weekly": 3, "count_daily": 5, "count_hourly": 0, "count_boot": 0, "exclude": [ "/home/**", "/root/**" ] }

Modo de instantánea Btrfs

Si el sistema utiliza el sistema de archivos Btrfs, Timeshift puede aprovechar las instantáneas nativas de Btrfs, que son más rápidas y utilizan menos espacio:

# Verify filesystem type df -T / # If it's Btrfs, select BTRFS mode in Timeshift sudo timeshift --btrfs

Deja Dup - Herramienta de copia de seguridad de escritorio

Deja Dup (GNOME Backups) es una herramienta de copia de seguridad fácil de usar para el entorno de escritorio Ubuntu, adecuada para usuarios personales.

Instalación y uso

# Install (usually pre-installed on Ubuntu Desktop) sudo apt install deja-dup

Deja Dup proporciona una interfaz gráfica a la que se puede acceder a través de “Configuración” o buscando “Copias de seguridad” en el menú de la aplicación.

Características clave:

  • Admite copias de seguridad en discos locales, unidades externas y almacenamiento en red
  • Admite copias de seguridad en Google Drive y otro almacenamiento en la nube
  • Cifrado automático de copias de seguridad
  • Soporte de respaldo incremental
  • Copias de seguridad automáticas programadas

Operaciones de línea de comando

Deja Dup utiliza la duplicidad como backend:

# Manually run a backup deja-dup --backup # Restore files deja-dup --restore

Copia de seguridad de imagen de disco

Creando imágenes de disco con dd

# Create a full disk image sudo dd if=/dev/sda of=/backup/sda.img bs=4M status=progress # Compressed image sudo dd if=/dev/sda bs=4M status=progress | gzip > /backup/sda.img.gz # Restore from an image sudo dd if=/backup/sda.img of=/dev/sda bs=4M status=progress # Restore from a compressed image gunzip -c /backup/sda.img.gz | sudo dd of=/dev/sda bs=4M status=progress

Usando Clonezilla

Clonezilla es una potente herramienta de creación de imágenes y clonación de discos:

# Install Clonezilla sudo apt install clonezilla # It is generally recommended to boot from a Clonezilla Live USB # Download: https://clonezilla.org/downloads.php

Copia de seguridad del sistema con tar

# Back up the entire system (excluding unnecessary directories) sudo tar czpf /backup/system-$(date +%Y%m%d).tar.gz \ --exclude=/backup \ --exclude=/proc \ --exclude=/sys \ --exclude=/dev \ --exclude=/run \ --exclude=/tmp \ --exclude=/mnt \ --exclude=/media \ --exclude=/lost+found \ / # Restore the system sudo tar xzpf /backup/system-20260324.tar.gz -C /

Copia de seguridad de la base de datos

MySQL/MariaDB

# Back up a single database mysqldump -u root -p database_name > /backup/db-$(date +%Y%m%d).sql # Back up all databases mysqldump -u root -p --all-databases > /backup/all-db-$(date +%Y%m%d).sql # Restore a database mysql -u root -p database_name < /backup/db-20260324.sql

PostgreSQL

# Back up a single database sudo -u postgres pg_dump dbname > /backup/pg-$(date +%Y%m%d).sql # Back up all databases sudo -u postgres pg_dumpall > /backup/pg-all-$(date +%Y%m%d).sql # Restore sudo -u postgres psql dbname < /backup/pg-20260324.sql

Recomendaciones de estrategias de respaldo

La regla de respaldo 3-2-1

  • 3 copias de tus datos (el original + 2 copias de seguridad)
  • 2 medios de almacenamiento diferentes (p. ej., disco duro local + almacenamiento en la nube)
  • 1 copia de seguridad externa (protección contra desastres físicos)

Recomendaciones por escenario

EscenarioHerramientas recomendadasFrecuencia de respaldo
Usuario personal de escritorioDeja Dup + TimeshiftDiario / Semanal
Estación de trabajo de desarrollorsync + cambio de tiempoDiariamente
servidor webrsync + copia de seguridad de base de datosDiario/hora
Servidor empresarial críticorsync + instantáneas LVM + copia de seguridad externaEn tiempo real/por hora

Verificación de copias de seguridad

Verificar periódicamente la integridad de la copia de seguridad es esencial:

# Verify a tar backup tar tzf /backup/system-20260324.tar.gz > /dev/null # Verify an rsync backup rsync -avhn --delete /source/ /backup/ # dry-run to compare differences # Perform periodic restore drills