Skip to content

Práctica guiada 1.2: tar para copias de seguridad

Práctica: Copias de Seguridad con tar en Ubuntu 24.04

Objetivo

Aplicar los conceptos de copia completa, incremental y diferencial utilizando el comando tar, y realizar su restauración.


Preparación del entorno

mkdir -p ~/backup_tar/origen
echo "Archivo 1" > ~/backup_tar/origen/archivo1.txt
echo "Archivo 2" > ~/backup_tar/origen/archivo2.txt

Parte 1: Copia de seguridad completa

Realizar copia completa

tar -cvf ~/backup_tar/full_backup.tar ~/backup_tar/origen

Restaurar copia completa

mkdir -p ~/backup_tar/restaurado_full
tar -xvf ~/backup_tar/full_backup.tar -C ~/backup_tar/restaurado_full

Parte 2: Copia de seguridad incremental

Realizar copia incremental

  1. Crear archivo de estado (snapshot):

    touch ~/backup_tar/snapshot.file
    

  2. Modificar archivos:

    echo "Archivo 3" > ~/backup_tar/origen/archivo3.txt
    

  3. Ejecutar copia incremental:

    tar --create --file=~/backup_tar/incremental_backup.tar --listed-incremental=~/backup_tar/snapshot.file ~/backup_tar/origen
    

Restaurar copia incremental

mkdir -p ~/backup_tar/restaurado_incremental
tar --extract --listed-incremental=~/backup_tar/snapshot.file --file=~/backup_tar/incremental_backup.tar -C ~/backup_tar/restaurado_incremental

Parte 3: Copia de seguridad diferencial

Realizar copia diferencial

  1. Crear nuevo archivo de estado desde la copia completa:

    cp ~/backup_tar/snapshot.file ~/backup_tar/snapshot_diferencial.file
    

  2. Modificar más archivos:

    echo "Archivo 4" > ~/backup_tar/origen/archivo4.txt
    

  3. Ejecutar copia diferencial:

    tar --create --file=~/backup_tar/diferencial_backup.tar --listed-incremental=~/backup_tar/snapshot_diferencial.file ~/backup_tar/origen
    

Restaurar copia diferencial

mkdir -p ~/backup_tar/restaurado_diferencial
tar --extract --listed-incremental=~/backup_tar/snapshot_diferencial.file --file=~/backup_tar/diferencial_backup.tar -C ~/backup_tar/restaurado_diferencial

Actividades finales

  • Compara el contenido de las carpetas restauradas.
  • Analiza el tamaño de cada tipo de copia.
  • Reflexiona sobre ventajas y desventajas de usar tar frente a rsync.

Automatización con cron

  1. Crear script de copia completa:
    echo -e "#!/bin/bash\ntar -cvf ~/backup_tar/full_backup_$(date +\%Y\%m\%d).tar ~/backup_tar/origen" > ~/backup_tar/backup_script.sh
    chmod +x ~/backup_tar/backup_script.sh
    
  2. Programar tarea en cron:
    crontab -e
    
    Añadir la línea:
    0 2 1 * * ~/backup_tar/backup_script.sh
    

Otras referencias:

tar para backups incrementales

Puedes utilizar el comando tar para crear un archivo comprimido con la fecha y hora actual del sistema como parte del nombre del archivo. Aquí tienes un ejemplo de cómo hacerlo:

tar -czf backup_$(date +%Y%m%d_%H%M%S).tar.gz /ruta/al/directorio_o_archivo