4 Seguridad pasiva: almacenamiento
Caso práctico 8
Backup en Linux 6. Con lo que hemos visto hasta ahora solo podemos hacer
backups completos. El directorio copia lo podemos llevar
��Duración: � 20 minutos � Dificultad: � Media
a cualquier dispositivo extraíble o podría ser un disco en
Objetivo. Hacer backup mediante comandos. red. Para hacer backups incrementales ejecutaremos esto:
Material. Servidor Ubuntu 12.04. # rsync --avvb --delete --backup dir=/tmp/
Para Linux vamos a probar la herramienta rsync. Es una herra- backup1 /tmp/original /tmp/copia
mienta sencilla pero muy potente. Básicamente nos permite Esta vez la sincronización deja en el directorio /tmp/
sincronizar directorios en una misma máquina o entre dos backup1 los ficheros que resultan modificados o elimi-
máquinas. nados; en /tmp/copia siempre está la versión actual.
1. Entramos en nuestro Ubuntu Server 12.04 y nos pone- En nuestro ejemplo vamos a borrar el fichero adios.txt
mos en modo super-usuario con sudo –i. y al sincronizar vemos que ya no está en original ni
en copia, pero sí en backup1 (Fig. 4.83).
2. Nos vamos al /tmp y creamos un directorio llamado
original con un fichero hola.txt.
3. Ahora creamos una copia de original mediante el
comando:
# rsync –av /tmp/original /tmp/copia
Como se ve en la Figura 4.81, la herramienta nos avisa
de que va a crear el directorio /tmp/copia (no lo
habíamos creado) y muestra los ficheros que ha traspa-
sado y un resumen de bytes transferidos. El directorio Fig. 4.83. Backup incremental.
copia reproduce la estructura de carpetas de origi- 7. Lo mismo ocurre para ficheros modificados. Vamos a crear
nal, no solo los ficheros. un fichero en original, sincronizamos, modificamos ese
fichero y al volver a sincronizar, además de actualizar
copia, se guarda la versión anterior en backup1.
8. Finalmente, como es imprescindible que el backup se
ejecute con regularidad, vamos a probar a meterlo en el
cron. Le pondremos que se ejecute cada minuto (lo nor-
mal sería una vez al día), y en ese tiempo haremos cam-
bios para comprobar el funcionamiento.
Como se ve en la Figura 4.84, hemos creado un script
mibackup.sh que se invoca desde el cron. Para distin-
guir las distintas copias incrementales, el script utiliza la
Fig. 4.81. rsync de directorios.
fecha en que se ejecuta. Dejamos un log para compro-
4. ¿En qué se diferencia de hacer una copia normal bar diariamente que todo ha ido bien.
mediante cp? Pues en que rsync no copia todo, sino # cat mibackup.sh
solo los ficheros nuevos o los que han cambiado. Por FECHA=`date +%y%m%d%H%M`
ejemplo, creamos un fichero nuevo y sincronizamos. rsync -avvb --backup-dir=/tmp/backup _
Solo se traspasa ese fichero (Fig. 4.82). $FECHA --delete
/tmp/original /tmp/copia >> /tmp/log _
$FECHA
# crontab -l
# m h dom mon dow command
* * * * * /tmp/mibackup.sh
Fig. 4.82. Solo copiamos los cambios.
5. Si hemos borrado un fichero en el original y queremos
que se actualice la copia, hay que incluir el parámetro
--delete. Fig. 4.84. Backup incremental programado.
100