Advertisement
sergio_educacionit

bath migration

Apr 24th, 2025
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.38 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. arr_users=(msyql sergio ana jorge julia)
  4.  
  5. remote_host=192.168.0.67
  6. remote_user=educacionit
  7. conn="${remote_user}@${remote_host}"
  8.  
  9.  
  10. if [ $UID -ne 0 ]; then
  11.  
  12.     echo "Debe ejeuctar este programa con privilegios de 'root'."
  13.     exit 1
  14. fi
  15.  
  16.  
  17.  
  18. if ! ping -c 1 $remote_host > /dev/null 2>&1;then
  19.  
  20.   echo "Host inalcanzable, se sale."
  21.   exit 1
  22.  
  23. fi
  24.  
  25.  
  26. echo "
  27. Instalando dependencias locales y remotas...
  28. "
  29. apt install rsync -y
  30. # se recomienda usar askpass o algum metodo que no exponga
  31. # la contraseña
  32. read -p "contraseña remota: " remote_pass
  33.  
  34.  
  35. remote_com apt install rsync -y
  36. #ssh $conn "echo '$remote_pass' | sudo -S apt install rsync -y" || {echo "no se puede accion remota"; exit 1; }
  37.  
  38.  
  39.  
  40. echo "Host disponible, se continua"
  41.  
  42.  
  43. remote_com () {
  44.     ssh $conn "echo '$remote_pass' | sudo -S $@"
  45. }
  46.  
  47. for user in ${arr_users[@]};do
  48.  
  49.     echo "Migrando usuario $user"
  50.    
  51.     # usuarios de servicios
  52.    
  53.     if [ $user == "mysql" ]; then
  54.  
  55.         remote_com groupadd $user
  56.         remote_com useradd -s /bin/false -d /var/lib/$user -uid 110 \
  57.             -gid $user \
  58.             -m $user
  59.  
  60.  
  61.         # al ejecutarse el continue se pasa a la
  62.         # siuiente iteracion
  63.         #
  64.         continue
  65.         exit
  66.     fi
  67.  
  68.  
  69.  
  70.  
  71.     # usuarios estandar
  72.     ssh $conn "echo '$remote_pass' | sudo \
  73.         useradd -s /bin/bash \
  74.         -d /home/$user \
  75.         -m $user"
  76.  
  77.     #rsync -a /home/$user ${conn}:$home_field
  78. done
  79.  
  80.  
  81. echo "
  82. Terminado.
  83. "
  84.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement