Recuperar correo en Zimbra en caso de desastre parte 2 (arreglando fechas de los correos)

Y recuperados los correos veremos que todos se encuentran con la fecha en que realizamos la recuperación de la data, este es un gran problema asi que vamos a realizar el siguiente procedimiento.

1.- Vamos a crear una cuenta de respaldo para poder trabajar sin problemas.
 [root@abc~]# mkdir /opt/zimbra/respaldos
2.- Se Obtiene el ID de la cuenta con el comando.

 [zimbra@abc~]# zmprov gmi fabricio@abc.com 

 
como resultado obtendré algo similar a esto:

mailboxId: 97
quotaUsed: 1123435385
siendo el numero 97 el buzón correspondiente a nuestro usuario.

3.- vamos a crear un script como #root

vi /usr/local/script/zimdates
SCRIPTDIR=`pwd`
TMPFILE="$SCRIPTDIR/zimdates.tmp"

show_usage() {
   echo "Usage: zimdates DIRECTORY"
   echo "Inserts the X-Zimbra-Received header into a directory of messages"
   echo
   echo "Example: zimdates ./mail/"
}

# check for correct usage: 1 argument (directory)
if [ $# -eq 1 ]; then
   MSGDIR=$1
   if [ ! -d $MSGDIR ]; then
      show_usage
      exit 1
   fi
else
   show_usage
   exit 1
fi

# if the temporary file exists, delete it
if [ -f $TMPFILE ]; then
   rm -f $TMPFILE
fi

cd $MSGDIR
for file in *
do
   grep "^Date\:\ " $file > $TMPFILE
   # use the first Date occurrence
   datestring=`sed -n '1p' $TMPFILE`
   # remove the 'Date: ' prefix
   datestring=${datestring#*\ }

   sed -n '1,/^Date\:\ /p' $file > $TMPFILE
   echo "X-Zimbra-Received: $datestring" >> $TMPFILE
   sed '1,/^Date\:\ /d' $file >> $TMPFILE

   mv $TMPFILE $file
done


4.- Al script le vamos a dar permisos de usuario
   chown zimbra.zimbra /usr/local/script/zimdates
   chmod 755 /usr/local/script/zimdates
5.- Voy a crear una carpeta en el usuario fabricio que se llamará Recuperados
zmmailbox -z -m fabricio@abc.com cf /Recovery

6.- Me voy a la ruta donde se encuentra mi script y procedo a importar los correos a la carpeta Respaldos

for a in `ls -1 /opt/zimbra/respaldos/97/msg/`; do echo "Importando directorio $a"; zmmailbox -z -m fabricio@abc.com addMessage /Recuperados /opt/zimbra/store/0/97/msg/$a; done


7.- Voy al Webmail de mi usuario y todos los correos estarán en la carpeta Recuperados

Comentarios

Entradas populares de este blog

Recuperar correo en Zimbra en caso de desastre

Respaldar Maquinas Virtuales de Proxmox por consola

Instalando N8N sobre Rocky 8