Copias de seguridad en linux

Copias de seguridad en Linux

No entraré en detalles de los tipos de copias que hay porque esta información la podemos encontrar con facilidad en la red. Que debemos de copiar en un sistema linux.

  • /home (Carpetas personales de los usuarios)
  • /etc (Archivos de configuración del sistema)
  • /root (Carpeta personal del usuario root)
  • /var/www (Web de la intranet si existe)

Nomenclatura a utilizar.

Cuando es una copia de seguridad total

CopiaTotal_etc-home_31feb05.tar.bz2

Copia de seguridad diferencial
CopiaDiferencial_etc-home_21feb12-08feb02.tar.bz2

Copia de seguridad incremental
CopiaIncremental_etc-home_18feb02-12feb02.tar.bz2

Para ello utilizamos el comando tar con las opciones que tiene.
Opciones:

j: Comprimir utilizando bzip2
c: Crear nuevo archivo
v: Mostrar los archivos añadidos
f: Escribir hacia un archivo

// Para extraer los archivos que contiene el archivo tar.bz2
tar -jxvf copia_seguridad.tar.bz2

Opciones:
j: Comprimir utilizando bzip2
x: Extraer (descomprimir)
v: Mostrar los archivos extraídos
f: Extraer desde un archivo

// Para extraer solo un archivo del archivo tar.bz2
tar -jxvf copia_seguridad.tar.bz2 ruta-del-archivo/nombre-del-archivo

// Para ver una lista de los archivos que contiene el archivo tar.bz2
tar -jtvf copia_seguridad.tar.bz2

//Para crear copia de seguridad de los archivos modificados tras una fecha dada
tar -jcvf CopiaDiferencial.tar.bz2 -N 18feb2012
Donde N significa mas nuevo que Con la linea anterior indicamos que se copien los archivos que se han copiado con posterioridad a esa fecha.
Creamos una copia total  de home y etc con el nombre CopiaTotal_etc-home_04feb18.tar.bz2
tar -jcvf /tmp/CopiaTotal_etc-home_04feb18.tar.bz2 /home /etc

//Creamos una  copia diferencial  en la que hemos utilizado el comando date para que añada la fecha automáticamente de manera que podemos utilizar el comando varias veces. Este comando guarda todos los días los datos modificados del home y etc a partir del 11 de febrero del 2013

tar -jcvf /tmp/CopiaDiferencial_etc-home_’date +%d%b%y’.tar.bz2 /home /etc -N 11-feb-13

Para hacerlo automáticamente lo podemos hacer con utilizaremos cron. Cron es un servicio que nos permite lanzar comandos automáticamente los días y a las horas que deseemos. Cada usuario tiene su propio cron en el que puede configurar sus tareas programadas mediante el comando ‘crontab -e’ o con alguna aplicación gráfica como gnome-schedule.

Creamos estos dos  siguiente script
nano  /root/copia_total.sh

Dentro del editor escribimos
#!/bin/bash
tar -jcvf /tmp/CopiaTotal_etc-home_`date +%d%b%y`.tar.bz2 /home /etc

El siguiente lo llamamos /root/copia_diferencial.sh
#!/bin/bashtar -jcvf /tmp/CopiaDiferencial_etc-home_01`date +%b%y`-`date +%d%b%y`.tar.bz2 /home /etc -N 01`date +%b%y`
la damos permiso de ejecución.

chmod +x /root/copia_total.sh
chmod +x /root/copia_diferencial.sh

escribimos en la consola como root
crontab -e
[hora] [minuto] [dia_del_mes] [mes] [dia_de_la_semana] [comando]
30  o2    1   *   *    /root/copia_total.sh
30 04      *   *    *  /root/copia_diferencial.sh
De esta forma, los días 1 de cada mes a las 02:30 horas se realizará la copia total de las carpetas /etc y /home y todos los días a las 04:30 horas se realizará la copia diferencial respecto de la copia del día 1 del mes.
Lo ideal es hacer las copias en medio extraible

Deja un comentario