IES Miguel Romero Esteo - Departamento de Informática - Linux/Unix
Bash y programación en Bash / Práctica 10
Referencias:
[1] http://asir.sudo.es/docnux/bash.1.html
Enunciado:
NAME
Copiadeseguridad.sh - Crea/Restaura las copias de seguridad de los directorios $HOME de los usuarios ordinarios del sistema.SYNOPSIS
Copiadeseguridad.sh -c|-r directorio_baseDESCRIPCION
Este script automatiza la creación y la
posterior restauración de las copias de seguridad de las cuentas
de usuarios. Debe cumplir las siguientes especificaciones:
Se entiende que los usuarios a salvar son aquellos cuyo UID es igual o superior a 1000 y están establecidos de forma coherente en el sistema, es decir, el directorio $HOME existe y el usuario tiene asignada una password. Si no se cumplen estas condiciones no se tendrá en cuenta el registro de dicho usuario.
La copia de seguridad consistirá en un único fichero de nombre usuarios.txt y en un fichero por cada usuario de nombre <NAME>.tgz. (donde NAME es nombre del usuario)
El script debe admitir dos parámetros obligatorios:
El fichero usuarios.txt tendrá la siguiente estructura:
usuario:clave_encriptada:directorio_home:shell
OPCIONES
-c Bifurcará el proceso a la búsqueda (en los ficheros adecuados) de la información necesaria y generará el fichero usuarios.txt; a continuación, extraerá de los directorios $HOME de cada usuario todo su contenido y lo empaquetará y comprimirá en sendos archivos <NAME>.tgz (uno por cada usuario).
-r Bifurcará al proceso a la restauración de la información, por tanto, extraerá de los archivos <NAME>.tgz los datos que depositará en los directorios $HOME de los usuarios. Esta parte del proceso tendrá en cuenta lo siguiente:
Si en el momento de la restauración el usuario no existe se creará con los datos que aporta el fichero usuarios.txt.
Si el usuario existe, se cargará la información de <NAME>.tgz en el directorio $HOME que tenga en ese momento, al margen del home directory que contiene el fichero usuarios.txt para ese usuario.
Los archivos y directorios del usuario deben quedar restaurados con los mismos permisos de acceso que tuviesen en el momento de hacer la copia de seguridad.
directorio_base Si se trata de crear (-c) la copia de seguridad será dónde se ubique todo el material generado. Si es restauración (-r) se tomarán los datos a restaurar desde esta ubicación. El valor de este argumento se expresará como direccionamiento absoluto y se referirá a un directorio que exista.