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
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
No hay comentarios:
Publicar un comentario