Extraido de http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=backupLinux
1. Aspectos básicos sobre backup
1. Aspectos básicos sobre backup
El
término backup se refiere a un concepto de especial
importancia en el mundo informático: las copias de seguridad.
Suele realizarse una copia de seguridad de aquella información
que interesa protegerse frente a posibles pérdidas o borrados
accidentales. Puede realizarse una copia de seguridad de la imagen de
un sistema, bases de datos, ficheros de aplicación, documentos
específicos, etc.
En su versión más
sencilla una copia de seguridad, como su propio nombre indica, no es
más que un duplicado de cierta información, sin ningún
tipo de procesamiento sobre la misma (compresión, etc). Dicho
duplicado debe almacenarse en un medio distinto al que se encuentra
la información original, ya que si hubiera algún
problema sobre el medio donde se encuentra almacenada la información
original (rotura, robo, fallo software, etc) el backup
realizado no serviría para nada.
Existen diversos tipos de backup
que típicamente suelen aplicarse sobre la información
relevante. Los principales son:
- Completo: Consiste en una copia completa de todos los datos principales. Requiere mayor espacio de almacenamiento y ventana de backup.
- Incremental: Consiste en copiar únicamente aquellos datos que hayan sido modificados respecto a otro backup incremental anterior, o bien, un backup total si éste no existe. Un backup incremental no sustituye a los backup incrementales anteriores. Para restaurar un backup incremental es necesario restaurar el backup completo y todos los backup incrementales por orden cronológico que estén implicados. Si se pierde uno de los backup incrementales, no es posible restaurar una copia exacta de los datos originales.
- Diferencial: Consiste en copiar únicamente aquellos datos que hayan sido modificados respecto a un backup completo anterior. Requiere menor espacio de almacenamiento y ventana de backup. Para restaurar un backup diferencial es necesario restaurar previamente el backup completo en el que se basa. Por tanto, requiere mayor tiempo de restauración. Un backup diferencial puede sustituir a otro backup diferencial más antiguo sobre el mismo backup completo.
Normalmente se utilizan herramientas
que permiten flexibilizar y potenciar el proceso de generación
y mantenimiento de copias de seguridad. Dichas herramientas suelen
permitir diversas opciones relacionadas con las tareas de backup,
tales como:
- Elección de tipo de backup a realizar.
- Programación de tareas de backup.
- Reestablecer información a partir de copias de seguridad.
- Compresión de la información, optimización del espacio ocupado por las copias de seguridad.
A continuación se mostrará
como programar de forma sencilla tareas de backup en un
sistema Linux, utilizando recursos compartidos en red como medio de
almacenamiento de las copias de seguridad.
2.
Configuración del sistema
Para ilustrar una forma sencilla de
generar copias de seguridad desde un sistema Linux, se parte de un
sistema Linux (Debian) que está conectado en red a una
máquina con Windows Server 2003.
El medio de almacenamiento para las
copias de seguridad será un disco duro extraible que se
conectará mediante usb a la máquina con Windows
Server 2003. La forma de compartir en red un recurso en sistemas
Windows es muy sencilla: una vez que el sistema reconoce el nuevo
medio conectado, basta con pulsar el botón derecho del ratón
sobre el medio a compartir, y seleccionar la opción Compartir
y seguridad.
En el diálogo emergente
seleccionar la opción Compartir esta carpeta. Establecer
el nombre deseado para el recurso compartido en el campo Recurso
compartido.
Por último, habilitar los
permisos para poder escribir sobre este medio. Pulsar el botón
Permisos e indicar los permisos pertinentes. Una vez
seleccionados los permisos (Control total en este caso, para
poder leer y escribir) pulsar el botón Aceptar para
finalizar el proceso.
El disco duro extraible conectado a
la máquina con Windows Server 2003 ya está
compartido en red, y puede ser accedido por la máquina Linux
para almacenar las copias de seguridad.
De esta forma, la estructura de
conexiones del sistema con el que se trabajará sera la
siguiente:
3.
Montar la unidad extraible desde Linux
En primer lugar, se procederá
a instalar sobre la máquina Linux un cliente de Samba, a fin
de poder visualizar los recursos de la máquina Windows
accesibles. Para ello se teclea el siguiente comando:
apt-get
install smbclient
Una vez instalado el
cliente de Samba, se podrán visualizar los recursos de la
máquina Windows accesibles por la máquina Linux. Para
ello, basta con teclear el siguiente comando:
smbclient
-L [IP_MAQUINA_WINDOWS]
En este caso, mostrará
el disco extraible que se compartió en red anteriormente.
Para montar via red la unidad
extraible de la máquina Windows sobre la máquina Linux,
es necesario instalar la herramienta smbfs, invocando el
siguiente comando en la máquina Linux:
apt-get
install smbfs
Una vez instalada la
herramienta smbfs, ya se puede montar el disco extraible de la
máquina Windows en la máquina Linux utilizando la red.
Antes de invocar el comando correspondiente, debe crearse un
directorio en el directorio /mnt donde se montarán los
archivos del disco extraible. Para ello, teclear el siguiente comando
en la máquina Linux:
mkdir
/mnt/iomega
Una vez creado este
directorio, ya se puede invocar el comando smbmount para
montar el disco extraible conectado a la máquina Windows sobre
el directorio /mnt/iomega de la máquina Linux. Ejecutar
este comando como se indica a continuación:
smbmount
//[IP_MAQUINA_WINDOWS]/extraible /mnt/iomega
A partir de este momento
se puede acceder al disco extraible conectado a la máquina
Windows desde el directorio /mnt/iomega de la máquina
Linux. En este caso, el acceso será necesario para almacenar
las copias de seguridad que se procederán a programar.
4.
Implementar script para realizar la copia de seguridad
El siguiente paso será
realizar un script para que sea invocado por una tarea cron de
forma periódica.
La funcionalidad del script es
muy sencilla: simplemente debe comprimir los archivos a salvar (por
ejemplo, con tar) y copiarlo al medio de almacenamiento
elegido (disco extraible del equipo con Windows montado en el
directorio /mnt/iomega de la máquina Windows). Por
mayor claridad, en el nombre del fichero se especificará la
fecha de realización de la copia de seguridad.
En este caso, el script para Linux
podría contener la siguiente línea:
tar
-cvzf /mnt/iomega/backup/backup-`date +%Y-%m-%d`.tgz /home/alberto
Este comando comprimirá
en un fichero de nombre backup-YYYY-MM-DD.tgz el contenido de
la carpeta /home/alberto de la máquina Linux. El
directorio destino será el directorio de nombre backup de
la unidad extraible conectada a la máquina Windows, que se
encuentra montada en el directorio /mnt/iomega de la máquina
Linux.
Este script se
almacenará en el fichero /home/alberto/backup.sh . Este
script es el que se invocará desde el proceso de cron
que se programará en el apartado siguiente.
5.
Automatizar la tarea utilizando Cron
Para automatizar la ejecución
de este script periódicamente, se utilizará el
cron del sistema Linux. Se programará la ejecución de
dicho script todos los jueves a las 0:00. Para establecer esta
programación a la lista de tareas del cron se ejecuta el
siguiente comando:
crontab
-e
En este caso, la máquina
Linux con Debian arranca el editor vi para añadir la
nueva tarea programada. Se recuerda que la
sintaxis de la línea a añadir en este archivo para
programar una nueva tarea es:
[hora]
[minuto] [dia_del_mes] [mes] [dia_de_la_semana] [comando]
De esta forma, para
programar la tarea de backup todos los jueves a las 0:00, la
línea a añadir en el archivo abierto por vi con
las tareas de cron asociadas al usuario, deberá ser la
siguiente:
0
0 * * 4 sh /home/alberto/backup.sh
El símbolo
asterísco ( * ) significa que abarcará todos los dias,
horas, etc según el campo que se especifique.
En este punto ya se tiene
programada una tarea de backup desde la máquina Linux,
utilizando como medio de almacenamiento el disco extraible conectado
a la maquina Windows (compartido en red). El proceso de backup se
resume en el siguiente gráfico:
Para recuperar la
información, bastará con descomprimir el archivo de
backup deseado utilizando el comando tar en la máquina
Linux. Para ello, tomando el fichero de backup generado en el
ejemplo del gráfico anterior, podría ejecutarse la
siguiente sentencia desde el directorio donde se encuentre:
tar
-xvzf backup-2006-04-14.tgz
6.
Conclusiones
No debería ser demasiado
complicado para cualquier iniciado en Linux, programar una tarea de
backup utilizando herramientas básicas del sistema
(scripts, cron, etc). Tal vez no es la forma más elegante
(existen herramientas especificas), pero el objetivo de este
documento en gran parte era ilustrar como pueden resolverse problemas
interesantes utilizando las herramientas más básicas
ofrecidas por los sistemas Linux.
Es una realidad en informática,
el hecho de que muchas veces es importante saber resolver problemas
utilizando unos pocos conocimientos sencillos asimilados
anteriormente.
7.
Fuentes
- Wikipedia. Enciclopedia libre.http://es.wikipedia.org/wiki/Portada
- Artículo: “Acceder a un directorio compartido por red de Linux a Windows”http://bulma.net/body.phtml?nIdNoticia=1950
- Artículo: “Tareas automatizadas con Cron”http://linuca.org/body.phtml?nIdNoticia=256
Anímate y coméntanos lo que pienses sobre este TUTORIAL:
Fecha publicación: 2011-04-22-03:21:47
Autor: jedaro
Fecha publicación: 2009-06-17-07:03:56
Autor:
[Leonardo] Resumido, pero muy completo. Gracias.
Fecha publicación: 2006-10-19-02:47:07
Autor:
[roberto] Muy buen articulo, la importancia radica en el
procedimiento que realizar el proceso de realizar el respaldo entre dos
maquinas diferentes con sistemas operativos diferentes.
Fecha publicación: 2006-07-16-11:43:58
Autor:
[uayeb caballero] la verdad me parese muy buena la informacion
Fecha publicación: 2006-06-07-10:40:43
Autor:
[David] Hey excelente tutorial. Ya está en los marcadores de mi navegador.
Fecha publicación: 2006-05-03-11:44:22
Autor:
[Jose Antonio Prieto] Excelente Manual. Muchas Gracias
Esta obra está licenciada bajo licencia Creative Commons de
Reconocimiento-No comercial-Sin obras derivadas 2.5
Gracias