|
|
|
|
Administración de Sistemas Operativos
| ||
| Inicio ASO | Aula Virtual |
Cada vez es más común realizar copias de seguridad sobre discos compactos. En estos casos no se suelen utilizar las aplicaciones vistas hasta ahora (tar o cpio), sino que se necesita un software dedicado. Aquà vamos a comentar las nociones más básicas para poder crear backups sobre este medio. Para poder grabar una copia de seguridad en un CD-ROM necesitamos en primer lugar que el núcleo del sistema operativo reconozca nuestra grabadora como tal; si se trata de una IDE, y dependiendo de la distribución de Unix utilizada quizás sea necesario modificar el kernel, ya que el acceso que los diferentes programas realizan al dispositivo se realiza a través de un interfaz SCSI del núcleo. Es necesario consultar la documentación y la lista de compatibilidad hardware para cada distribución.
Si asumimos que el reconocimiento del dispositivo es correcto, lo que necesitamos a continuación es software capaz de grabar un CD-ROM. Por un lado es necesario un programa para crear imágenes ISO, el “molde†de lo que será el futuro CD-ROM; el más conocido es sin duda mkisofs. Además necesitaremos un programa para realizar lo que es la grabación en sà (p.e. cdrecord que va incluido en la distribución Red Hat 7.x). De esta forma lo primero que generaremos es una imagen de los ficheros a grabar, imagen que a continuación pasaremos al CD-ROM; por ejemplo, si queremos hacer un backup de /export/home/, en primer lugar utilizaremos mkisofs para crear una imagen con todos los ficheros y subdirectorios de los usuarios:
Con esta orden hemos creado una imagen ISO denominada /mnt/imagen.iso y que contiene toda la estructura de directorios por debajo de /export/home/; con las diferentes opciones hemos indicado que se almacenen todos los ficheros, que se sigan los enlaces simbólicos y que se registre además información sobre los permisos de cada fichero. Una vez que tenemos esta imagen hemos de pasarla a un CD-ROM, por ejemplo mediante cdrecord:
Con esta orden le hemos indicado al sistema la ubicación de nuestra grabadora, asà como un buffer de grabación de 16MB y también la ubicación de la imagen ISO.
Algo muy interesante es la posibilidad de grabar sin necesidad de crear primero imágenes con los ficheros que queremos meter en un CD-ROM. Esto nos ahorrará tiempo a la hora de realizar copias de seguridad, además de permitir una mayor automatización del proceso. Para ello, debemos calcular con mkisofs el espacio que ocupan los ficheros a grabar (con la opción -print-size), y posteriormente pasarle este valor a cdrecord; podemos hacerlo de forma automática, como muestra el siguiente programa:
| Script para copiar directamente un directorio a un CD-ROM |
| # cat `which graba-cd` |
| #!/bin/sh |
| # Vuelca el directorio pasado como parametro, y todos sus descendientes, |
| # en un CD-ROM |
| MKISOFS=/usr/local/bin/mkisofs
CDRECORD=/usr/local/bin/cdrecord if (test $# -lt 1); then
fi size=`$MKISOFS -r -J -l -print-size -f $1 2>&1|tail -1|awk '{print $8}'` nice --20 $MKISOFS -r -J -l -f $1 | nice --20 $CDRECORD dev=0,1,0 fs=16m\
|
Tal y como podemos ver en el ejemplo anterior se asigna el tamaño de los datos a grabar a la variable size, y después se pasa este número a cdrecord. De esta forma, para realizar una copia de seguridad de un directorio como /export/home/toni/, no tenemos más que ejecutar el shellscript pasándole el nombre de este directorio como parámetro.