Advertisement
sergio_educacionit

bath migration

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