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
#!/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