Mostrando entradas con la etiqueta examen. Mostrar todas las entradas
Mostrando entradas con la etiqueta examen. Mostrar todas las entradas

viernes, 13 de enero de 2012

Shell Script Examen Viernes 13

Shell Script Examen Viernes 13

Para mis queridos alumnos y alumnas, para que vean que yo también hago exámenes:

#!/bin/bash

#examen viernes 13

#Elabora un Shell script que nos permitirá gestionar las copias de seguridad
#de un determinado directorio, que se recibirá por parámetro.
#Admitirá como argumento dos parámetros, el primero deberá ser Backup o
#Restore, y el segundo el nombre de un directorio.
#Si el primer parámetro es Backup, el Shell realizará una copia de seguridad
#(backup), para todos los usuarios del sistema, en el directorio pasado como
#segundo argumento.
#Si el primer parámetro es Restore, el Shell deberá restaurar todas las
#copias de seguridad guardadas en el directorio pasado como segundo
#parámetro. Se supone que restaura en el home.
#PD.- Recordad que es imprescindible comentad el código. (hacerlo a
#conciecia y la vinculación curricular aunque no lo pida).

#Comprueba el número de parámetros y si es distinto de 2, avisa del error y sale del programa
if (( $# != 2 ))
then
    echo "Número de parámetros no correcto"
    echo "Uso $0 Backup|Restore carpeta"
    exit
fi

#echo "Número de parámetros:"$#
#inicialización de variables
#operación a realizar, Backup o Restore
operacion=$1
#carpeta destino u origen
directorio=$2
#echo $operacion
#Se comprueba si la operación es Backup o Restore y si no lo es, se sale del programa
if [ $operacion = "Backup" ]
then
    echo "Operación Backup en curso..."   
else
    if [ $operacion = "Restore" ]
    then
        echo "Operación Restore en curso..."
    else
    echo "La operación debe ser Backup o Restore y tú has escrito " $operacion
    echo "Saliendo del programa..."
    exit
    fi
fi
#ahora se comprueba si existe el directorio destino u origen
#y si no se crea
if [ -d $directorio ]
then
    echo "El directorio existe. Se sigue el proceso..."
else
    echo "El directorio no existe. Se crea."
    mkdir $directorio
    if [ $? -ne 0 ]
    then
        echo "Error al crear el directorio. Seguramente, no tienes permiso para copiar en él"
        echo "Saliendo del programa"
        exit
    fi
fi
#echo "Operación:" $operacion
#si la operación es Backup
if [ $operacion = "Backup" ]
then
#se realiza la copia de seguridad
    echo "Realizando copia de seguridad..."
    cd $directorio
    carpetahome="/home/ubuntu" #esta es la carpeta de la que se hace la copia de seguridad
    tar -cf seguridad.tar $carpetahome
else
#se restaura la copia de seguridad
    echo "Realizando la restauración..."
    #cambia a la carpeta donde restaurar, que sería home   
    cd /home/jluserovilchez/examen13
    #descomprime
    tar -xf $directorio/*.tar
fi