En esta entrada se explicara como realizar un respaldo completo de un sistema linux mediante el comando tar.

  1. Se realizara el respaldo
  2. Se provocara un error en el sistema
  3. Se restaurara nuestro respaldo

El comando tar es una herramienta de línea de comandos utilizada en sistemas operativos basados en Unix, como Linux y macOS, para crear, modificar y extraer archivos comprimidos y archivos de almacenamiento en un solo comando. El nombre «tar» proviene de «tape archive», ya que originalmente se usaba para archivar datos en cintas magnéticas, esto nos da una idea de lo antiguo que es este comando.

Uso básico del comando tar

tar -cvf archivo.tar directorio/

Opciones que usaremos para la copia de seguridad

-c: Crea un nuevo archivo.

-v: Muestra la progresión del comando.

-p: Conserva los permisos de los archivos.

-z: Utiliza compresión gzip.

-f: Especifica el nombre del archivo de salida.

--exclude: Omite ciertos directorios para evitar la copia de archivos temporales y otros archivos que no son esenciales para la restauración del sistema.

1.- Montamos la unidad donde se encontrara el respaldo

su -
mkdir /mnt/backup
mount /dev/vdb /mnt/backup

El comando para realizar el respaldo del sistema completoquedaria dela siguiente forma.

Para mas detalles sobre los archivos excluidos en este respaldo favor dirigirse a https://linuxhandbook.com/linux-directory-structure/

tar -cvpzf /mnt/backup/backup2.tar.gz --exclude=proc --exclude=sys --exclude-dev/pts --exclude=mnt --exclude=media /

Podemos verificar el contenido del archivo de respaldo con el comando

tar -tvf /mnt/media/backup2.tar.gz

2.- Script de respaldo

Podemos automatizar el proceso con el siguiente script el cual guardaremos como fullsystemBackup.sh

vim fullsystemBackup.sh
#!/bin/bash
TODAY=`/bin/date +%Y%m%d-%H%M`
FILENAME="FullBackup-${TODAY}"

tar -cvpzf /mnt/backup/${FILENAME}.tar.gz --exclude=proc --exclude=sys --exclude=dev/pts --exclude=tmp --exclude=mnt --exclude=media /

exit 0

Asignamos permisos de ejecucion y ejecutamos el script

chmod 750 /fullsystemBackup.sh
./fullsystemBackup.sh

Revisamos que la copia se haya realizado satisfactoriamente.

ls -lah /mnt/backup

La copia se ha realizado correctamente.

3.- Borramos archivos del sistema

Ahora provocaremos un error en el sistema un borrado intencionalmente una carpeta indispensable para que cuando el sistema arranque nos de un error.

rm -rf /bin

reiniciamos el sistema y vemos que este no arranca.

4.- Restauramos nuestra copia

Arrancamos nuestro sistema mediante una iso live de linux, en mi caso utilizare una iso de gentoo.

Verificamos donde se encuentra nuestro sistema de archivos con lsblk

lsblk

En mi caso para este sistema yo solo cuento con 3 particiones / /boot y swap, dependiendo si cuentas con mas particiones deberías montarlas para garantizar que se restauren todos los archivos de tu copia, en mi caso solo montare / y /boot

Se crean las carpetas correspondientes para montar el sistema de archivos

mkdir /mnt/sistema
mkdir /mnt/sistema/boot

Ahora montamos las particiones

mount /dev/vda /mnt1/sistema
mount /dev/vda3 /mnt/sistema/boot

Se crea la carpeta de respaldo y se monta la unidad donde tenemos el respaldo

mkdir /mnt/respaldo

mnt /dev/sdb /mnt/respaldo

Ya podemos restaurar el respaldo desde el archivo tar hacia el sistema de archivos con el comando tar -xvzf /ruta/respaldo.tar.gz -C /ruta/sistema de archivos

tar -xvzf /mnt/respaldo/FullBackup.tar.bz -C /mnt/sistema --numeric-owner

Opciones:

-x: Se indica que extraiga el archivo indicado por la opcion f

-C: Se indica que cambie el directorio de extraccion a una ruta especificada

--nummeric-owner: Indica que restaure los propietarios numericos de los archivos.

Esperamos a que termine de extraer los archivos

En este caso todo funciona adecuadamente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *