Advertisement
Guest User

Untitled

a guest
Mar 21st, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.02 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3.  
  4. #creo dos variables una con el diretorio donde estan las carpetas correspondientes de cada cuenta decorreo
  5. #y la otra el equivalente pero en el servidor local de destino
  6. REMOTEMAILDIR="/home/siafasrl/mail/blablabla/"
  7. LOCALMAILDIR="/mnt/linserver/vmail/"
  8.  
  9.  
  10. #aca el script te va a pedir el usario, o sea, cuentadecorreo sin el @ (por que dijimos que la
  11. #carpeta tiene le mismo nombre de usario
  12. echo "ingrese imap user"
  13. read USER
  14.  
  15. #se fija que no exista en el servidor local
  16. if [ -d "$LOCALMAILDIR$USER" -a ! -h "$LOCALMAILDIR$USER" ]
  17. then
  18.     echo "El usuario $USER ya existe, abortando"
  19.     ls -la $LOCALMAILDIR
  20.     exit 1
  21. fi
  22.  
  23. #pones la contraseña correspondiente (por que ademas de traerse la carpeta, tiene que crear el usario y contraseña
  24. #que despues va a ser pepe@blabla.bla
  25.  
  26. echo "ingrese password"
  27. read PASS
  28.  
  29. #crea las carpetas con las variables que definimos al principio
  30.  
  31. mkdir -p $LOCALMAILDIR$USER/Maildir/
  32. tree -d $LOCALMAILDIR$USER
  33.  
  34. #te muestra el arbol de carpetas que creo, si es correcto sigue
  35.  
  36. read -p "es correcto? (y/n)" -n 1 -r
  37. echo    # (optional) move to a new line
  38. if [[ ! $REPLY =~ ^[Yy]$ ]]
  39. then
  40. echo "eliminando directorio"
  41.  
  42. #si no es correcto, por ejemplo escribiste mal el nombre de usuario, borra lo que hiciste
  43. rm -rf $LOCALMAILDIR$USER
  44.  
  45. echo "directorios en $LOCALMAILDIR"
  46. ls -la $LOCALMAILDIR
  47.  
  48. echo "abortando script"
  49.     exit 1
  50. fi
  51.  
  52. echo "seguimos"
  53.  
  54. #esta es la verdadera copia, con rsync clona la carpeta del servidor remoto al local
  55. rsync -azP -e "ssh -p 9022" usuario@blabla.com:/home/blablabla/mail/blablabla.com.ar/$USER/ $LOCALMAILDIR$USER/Maildir/
  56.  
  57.  
  58. #esto borra todos los archivos de inexacion y cfg que se trajo por que hay que generar nuevos (se generan solos)
  59. rm $LOCALMAILDIR$USER/Maildir/dovecot*
  60.  
  61. tree -d $LOCALMAILDIR$USER
  62.  
  63. echo "creando permisos y añadiendo usuario"
  64. chown vmail:vmail $LOCALMAILDIR$USER -R
  65. echo "$USER:{PLAIN}$PASS::::::" >> /etc/dovecot/passwd
  66. echo "reiniciando servidor"
  67.  
  68. /etc/init.d/dovecot restart
  69.  
  70. #y ya esta :D
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement