Ayuda script en bash

Iniciado por cristiansbd95, 30 Abril 2019, 21:01 PM

0 Miembros y 1 Visitante están viendo este tema.

cristiansbd95

 Hola compañeros,
Soy novato en esto del bash y estoy intentando realizar un script que haga una copia de seguridad de un directorio con el comando tar pasado por parametro. El ejercicio consiste en que le pasamos dos parametros uno indicando el directorio a a realizar la copia y el segundo el numero de copias a guardar. Consigo que me haga una copia en tar del directorio pero sin datos ya que me crea una carpeta /dev/null entiendo que es porque no me encuentra la carpeta que le paso por parametro pero mi duda es como hago para que busque el directorio en todo el disco?

Os adjunto una captura del contenido del fichero tar

https://ibb.co/vBVJT4X

Gracias de antemano!

Código (bash) [Seleccionar]
#!/bin/bash


# Variables globales

SORTIDA=0
a=0
b=15
directori=/copies


userRoot(){
[ "$UID" = "0" ] && return 0 || return 1
}

parametres(){
[ $1 -eq 2 ] && return 0 || return 1
}

existeixDIRECTORI(){
[ -d $1 ] && return 0 || return 1

}

rangDIES(){

if  [ $2 -gt $a ] && [ $2 -le $b ]; then
return 0
else
echo "El valor introducido no es correcto, tiene que ser un numero entre 1 i 15."
return 1
fi

}

if userRoot; then
if parametres $#; then
echo "segundo if"
if existeixDIRECTORI $1; then
echo "tercer if"

if rangDIES  $1 $2; then
echo "valor 1: $1 y valor 2: $2"
start_time=$(date +%s)
tar -zcf $directori/$1.tgz /dev/null
finish_time=$(date +%s)
else
echo "El numero de dias $2 no es valido. "
SORTIDA=1
    fi
    else
   
  echo "$1 no és un directorio."
SORTIDA=1
   fi
   

else
echo "Nombre de parametros incorrectos"
SORTIDA=1
fi
else
echo "Tienes que ser root para ejecutar este script."
SORTIDA=1
fi
exit $SORTIDA