Advertisement
sergio_educacionit

backups-v1.sh

Jul 20th, 2024 (edited)
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.43 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. dir=/mnt/backups
  4. device=/dev/sdx
  5. # esta variable determina si se crea el directorio de backups
  6.  
  7.  
  8. # Manejo de opciones
  9.  
  10. option=$1
  11.  
  12. case $option in
  13.  
  14.     "-d")
  15.         create_dir=yes 
  16.         ;;
  17.     "-h" | "--help")
  18.         echo "Modo de uso:
  19.     sudo $0 -opciones
  20.  
  21.     Opciones:
  22.  
  23.     -d      Crea el directorio de backups si no existe.
  24.     -h --help   Imprime esta ayuda.
  25. "
  26.     ;;
  27. esac
  28.  
  29.  
  30. # Evaluar si el usuario que ejecuta el script es root.
  31. # '0' el el uid del usuario root
  32.  
  33.  
  34. if [ $UID -ne 0 ]; then
  35.  
  36.     echo "Debe tener privilegios." >&2
  37.     exit 1
  38. fi
  39.  
  40.  
  41.  
  42. # Testear que el directorio de montaje exista
  43.  
  44. if [ -d $dir ]; then
  45.  
  46.     echo El directorio de backups existe, montando...
  47.  
  48. # Como la variable $create_dir se define cuadno se pasa la opcion -d al script es
  49. # es necesario expandirla a un valor predeterminado si la opcion no fue pasada
  50. # para que no devuelva error el interprete.
  51.  
  52. elif [ ${create_dir:-no} = "yes" ]; then
  53.  
  54.     # el comando depues de && se ejecuta si el antorior termino
  55.     # con exit status 0
  56.     mkdir -p $dir && echo "Directorio de backups creado, montando..."
  57.  
  58.  
  59.  
  60. else
  61.     # '>&2' dirige la salida de echo al stderr
  62.     echo No existe el directorio de backups, abortado. >&2
  63.  
  64.     # al no existir el directorio destino se termina el programa
  65.     # con un exit status 1
  66.     exit 1
  67. fi 
  68.  
  69.  
  70. # independientemente de como termine la estructura if
  71. # el codigo restante del script se sigue ejecutando.
  72. echo "
  73. resto de instrucciones...
  74. "
  75.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement