PRACTICA # 11

"RESPALDO Y RECUPERACIÓN DE DATOS"



OBJETIVO: Aprender las distintas técnicas para respaldar y recuperar archivos.



INTRODUCCIÓN:

Diferentes tipos de problemas pueden originar la pérdida de datos: eliminación accidental de archivos, una falla de hardware, etc. Por lo que es importante el conocer las formas de respaldar o recuperar dicha información.

Respaldos completos o incrementales, son los que copian todos los archivos. Los comandos relativamente simples para la creación de respaldos son : tar y cpio.

Desde el punto de vista del administrador, el sistema de archivo debe respaldarse de acuerdo con algún proceso automatizado, de preferencia cuando el sistema no se encuentre en uso, y con la menor intervención posible de los operadores. Además debe tener un plan de respaldo que satisfaga sus necesidades y que haga posible la restauración de copias recientes de archivos, utilizando una combinación de respaldos completos e incrementales.

Un respaldo completo es como se dijo inicialmente, el que contiene todos los archivos del sistema. Y el respaldo incrementado es el que contiene archivos que han cambiado desde el último respaldo . Estos puede realizarse a diferentes niveles:

Nivel 0 Respaldo completo.

Nivel 1 Incrementado con respecto al último respaldo completo.

Nivel 2 Incrementado con respecto al último respaldo del nivel 1.



DESARROLLO :

Realiza respaldos de datos con el comando 'tar' siguiendo la siguiente secuencia:



    1. Copia el directorio /home a la unidad de disco flexible /dev/fd0 utilizando la siguiente sintaxis, no olvides instalar un disco vacío en la unidad de discos:

#tar cvf /dev/fd0 /home

Nota: la c indica la creación de un archivo, y la f especifica el archivo destino, en este caso es la unidad de disco y v verbose.



    1. Archiva nuevamente el directorio /home, solo que ahora realizalo en modo extendido (v), comprimiendolo (z) y creando un respaldo multivolúmen (M), para lo cual teclea lo siguiente:

#tar cvfzM /dev/fd0 /home | tee /root/indice



Nota: De ésta forma, un listado de los archivos copiados se dirige a /root/indice. Para continuar con la práctica ejecuta de nueva cuenta el comando del inciso 1.a.



c. Restaura (x) el archivo /home/ftp/bin/cpio desde la unidad de disco usando los siguientes comandos:



# rm /home/ftp/bin/cpio Borrar el archivo para restaurarlo posteriormente

# cd /

# tar xvzf /dev/fd0 /home/ftp/bin/cpio



Si lograste restaurar el archivo cpio con éxito, entonces borra todo el directorio /home y después restauralo. Si no lograste restaurar el archivo cpio NO PROCEDAS. Repite los incisos 1.a, 1.b y 1.c tanto como sea necesario.



# cd /

# ls -l Apunta la fecha de creación del directorio /home

# rm -rf /home Borrar el sub-directorio

# tar xvzf /dev/fd0 Restaurar el directorio borrado accidentalmente

# ls -l Compara la fecha de creación actual con la anterior



d. Crea el archivo /root/backup.tar que contenga un respaldo del directorio /home y todos sus directorios y subdirectorios.



# cd /root

# tar cvf backup.tar /home

# ls -l Comprobar que se creó backup.tar, apunta el tamaño en bytes



Veamos las ventajas de comprimir la información después de respaldarla.



# gzip backup.tar

# ls -l Comprobar que se creó backup.tar.gz



Un método alterno es:



# tar cvzf backup.tgz /home

# ls -l Compara el tamaño en bytes de los archivos

backup.tar, backup.taz y backup.tar



e. Tenemos un directorio bajo el directorio llamado práctica y éste contiene varios archivos. Entonces, crea un archivo tar en /home/red que contenga solo el contenido de práctica sin un registro para el directorio, tecleando lo siguiente:



#pwd <enter>

/home/red

#cd práctica <enter>

/home/red/práctica

#tar cvf ../práctica.tar * <enter>



i. Observa lo que sucede con los archivos del directorio y anota tus conclusiones.



ii. Crea otro archivo tar comenzando desde el directorio padre de práctica y especifica el nombre del directorio donde se va a guardar, para ello sigue la siguiente sintaxis:



#pwd <enter>

/home/red

#tar cvf práctica.tar practica <enter>



iii. Nuevamente observa y registra lo sucedido con los archivos del directorio práctica que se crearon.



f. Para ver el contenido de un respaldo se usa la opción (t), veamos el contenido de los respaldos que ya efectuamos.



# cd /root

# tar tvzf backup.tgz | more

# tar tvf /dev/fd0 | more



  1. Realiza respaldos de datos con el comando 'cpio' siguiendo la siguiente secuencia:


    1. Copia los archivos del directorio /home al dispositivo /dev/fd0 usando el comando cpio:


#ls | cpio -oc > /dev/fd0



Nota: El comando cpio toma la entrada estándar y la copia a la salida estándar. En este ejemplo el comando ls envía a la salida estándar los nombres de los archivos. cpio los toma con entrada y los copia a la salida estándar, solo que ésta se encuentra redireccionada al dispositivo /dev/fd0. cpio con la opción -o hace una copia de un archivo en la salida estándar.



La forma más común de usar cpio es en conjunción del comando find. Ambos forman la mancuerna infalible y son los comandos más portables entre sistemas UNIX.

b. Copiemos todo el directorio /home a un archivo llamado /tmp/res.cpio

# find /home -depth -print | cpio -ocv -O/tmp/res.cpio



Explicación: find procesará todos los archivos y después los directorios (-depth) y los enviará a la salida estándar (-print). El comando cpio tomará los nombres de los archivos, los copiará (-o) y creará los directorios necesarios (-c) e indicará su estado (-v). La salida de cpio se puede redireccionar como en el inciso 2.a o se pude usar la opción -O. El archivo de salida tendrá formato de cpio.

c. Para ver el contenido del archivo de respaldo con formato de cpio. Ejecuta el siguiente comando:



# cpio -icvt -I/tmp/res.cpio



o se pudo haber ejecutado:



# cpio -icvt < /tmp/res.cpio

d Extrae (i) los archivos del dispositivo /dev/fd0 y crea un índice en el archivo bkup.indx:

#cpio -it < /dev/fd0 > bkup.indx



Nota: La t indica que se crea una tabla de contenido de la entrada



e. Borra el archivo /home/ftp/bin/gzip



# rm /home/ftp/bin/gzip

rm: remove `/home/ftp/bin/gzip'? y



f. Restaura el archivo anterior. El cual fué borrado accidentalmente.



# cpio -icvd -I/dev/fd0



g. Comprueba si el archivo fué restaurado.



# ls -l /home/ftp/bin/gzip



h. Ahora respaldemos los archivos que se modificaron ayer del subdirectorio /home. Utilizando el comando 'find' , se saca una lista de todos los archivos /home que se modificaron ayer y con cpio se hace el respaldo.



#find /home -mtime 1 -type f -print | cpio -ocv -O/dev/fd0



i. Una forma muy segura de copiar toda una estructura de directorios, preservando los permisos, dueños, grupos, ligas y fechas de creación es la siguiente:



# mkdir /users/newhome Crear el directorio destino.

# cd /home Colocarse en el directorio a copiar.

# find . -depth -print | cpio -pdmv /users/newhome Copiar los archivos.

# rm -rf /home Opcional. Borrar el directorio origen,

sólo si se desea mover el directorio.



CUESTIONARIO:



1. Por qué es importante para el administrador saber hacer respaldos ?

2. Es responsabilidad del administrador hacer un respaldo periódico de los sistemas de archivos de la máquina que administra ?

3. Usando el comando tar, Cómo se hace un respaldo ?

4. Usando el comando tar, Cómo se restaura un respaldo ?

5. Usando el comando tar, Cómo se muestra en pantalla el contenido de un respaldo ?

6. Usando el comando cpio, Cómo se hace un respaldo ?

7. Usando el comando cpio, Cómo se restaura un respaldo ?

8. Usando el comando cpio, Cómo se muestra en pantalla el contenido de un respaldo 9. Se puede usar el comando tar para copiar una estructura de directorios, preservando los permisos, dueños, grupos, fechas y ligas ? Ilustra tu respuesta.

10. Realiza una tabla que contenga las opciones con sus respectivas descripciones para el comando tar ( c, x, f , Z, z, M, t, v,u,A, k,S, G) ; y otra tabla que contenga las opciones que se utilizan para el comando cpio , incluyendo sus descripciones (-o, -B, -i, -t, -H, -O, -F, -R) .



CONCLUSIONES.



anterior siguiente