Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #creo dos variables una con el diretorio donde estan las carpetas correspondientes de cada cuenta decorreo
- #y la otra el equivalente pero en el servidor local de destino
- REMOTEMAILDIR="/home/siafasrl/mail/blablabla/"
- LOCALMAILDIR="/mnt/linserver/vmail/"
- #aca el script te va a pedir el usario, o sea, cuentadecorreo sin el @ (por que dijimos que la
- #carpeta tiene le mismo nombre de usario
- echo "ingrese imap user"
- read USER
- #se fija que no exista en el servidor local
- if [ -d "$LOCALMAILDIR$USER" -a ! -h "$LOCALMAILDIR$USER" ]
- then
- echo "El usuario $USER ya existe, abortando"
- ls -la $LOCALMAILDIR
- exit 1
- fi
- #pones la contraseña correspondiente (por que ademas de traerse la carpeta, tiene que crear el usario y contraseña
- #que despues va a ser pepe@blabla.bla
- echo "ingrese password"
- read PASS
- #crea las carpetas con las variables que definimos al principio
- mkdir -p $LOCALMAILDIR$USER/Maildir/
- tree -d $LOCALMAILDIR$USER
- #te muestra el arbol de carpetas que creo, si es correcto sigue
- read -p "es correcto? (y/n)" -n 1 -r
- echo # (optional) move to a new line
- if [[ ! $REPLY =~ ^[Yy]$ ]]
- then
- echo "eliminando directorio"
- #si no es correcto, por ejemplo escribiste mal el nombre de usuario, borra lo que hiciste
- rm -rf $LOCALMAILDIR$USER
- echo "directorios en $LOCALMAILDIR"
- ls -la $LOCALMAILDIR
- echo "abortando script"
- exit 1
- fi
- echo "seguimos"
- #esta es la verdadera copia, con rsync clona la carpeta del servidor remoto al local
- rsync -azP -e "ssh -p 9022" usuario@blabla.com:/home/blablabla/mail/blablabla.com.ar/$USER/ $LOCALMAILDIR$USER/Maildir/
- #esto borra todos los archivos de inexacion y cfg que se trajo por que hay que generar nuevos (se generan solos)
- rm $LOCALMAILDIR$USER/Maildir/dovecot*
- tree -d $LOCALMAILDIR$USER
- echo "creando permisos y añadiendo usuario"
- chown vmail:vmail $LOCALMAILDIR$USER -R
- echo "$USER:{PLAIN}$PASS::::::" >> /etc/dovecot/passwd
- echo "reiniciando servidor"
- /etc/init.d/dovecot restart
- #y ya esta :D
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement