sergio_educacionit

user_home-bakcup-v1.sh

Aug 16th, 2025
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.17 KB | None | 0 0
  1. $ cat user_home-bakcup-v1.sh
  2. #!/bin/bash
  3.  
  4.  
  5.  
  6. # '$UID' devueleve la 'uid' del usuario que ejeucta el script.
  7. # '0' es la 'uid' del usuario 'root'.
  8.  
  9. if [ $UID -ne 0 ]; then
  10.  
  11.     echo "Debe ejeuctar este programa con privilegios de 'root'."
  12.     exit 1
  13. fi
  14.  
  15.  
  16. input_user=$1
  17.  
  18. located_user=$(cat /etc/passwd | cut -d ':' -f 1 | grep -w $input_user)
  19.  
  20.  
  21. echo $located_user
  22.  
  23.  
  24. # '!' invierte el resultado, en este caso si ambas varaibles son iguales
  25. #  la sentencia 'if' devuelve 'False'.
  26. #  Si devuelve 'False' entonces el codigo no se ejecuta.
  27.  
  28. if  ! [ "$input_user" == "$located_user" ];then
  29.  
  30.     echo El usuario no se encuentra en el sistema.
  31.     # El proposito del programa es crear un usuario que no exista
  32.     # si no puede entocnes el 'exit status' sera != 0
  33.     exit 1
  34.  
  35. fi
  36.  
  37. read -p "El usuario '$input_user' existe en el sistema, desea crear backup? " ans
  38.  
  39.  
  40. #  True   or  ---
  41. # [ ... ] || [ ... ] = True
  42. #  False       True
  43. # [ ... ] || [ ... ] = True
  44. #  False      False
  45. # [ ... ] || [ ... ] = False
  46.  
  47.  
  48. if [ "y"  == "$ans" ] || [ "Y" == "$ans" ] ; then
  49.  
  50.     tar vczf /home/${input_user}.tar.gz /home/${input_user}
  51. fi
  52.  
  53.  
  54. echo "
  55. Ficheros archivados:
  56. "
  57. ls -1 /home/*.gz
  58.  
Advertisement
Add Comment
Please, Sign In to add comment