Elimina mensajes por fecha en todos los buzones zimbra

E

En ocasiones por cuestiones de espacio o mantenimiento debemos eliminar el contenido de los buzones en todas sus carpetas de una fecha hacia atrás 

Usaremos un script para este fin con el cual vaciaremos el contenido anterior al 2017

Tenga en cuenta que puede tardar bastante.

 

#!/bin/bash

## Ojo puede eliminar de todo el servidor y es como mejor que No
## Fuente: https://albertxyc.livejournal.com/15690.html

DOMAIN_NAME="linuxcol.com"  #Dominio a limpiar
BFRDATE="01/01/2017/" # fecha desde donde de pa tras desea borrar el correo
EMAIL=/tmp/email.list # Lista de cuentas de correo
MESID=/tmp/mesid.list # Lista de los ID mensjaes a eliminar
MESID2=/tmp/mesid2.list # lista de mensajes ID que queremos eliminar sin encabezados, solo ID
FLDNM=/tmp/folder.list # lista de carpetas de usuarios en las que se almacenan los mensajes (por ejemplo, quién configura los filtros en las carpetas)
FLOG=/tmp/process.log  log proceso de limpieza


#/opt/zimbra/bin/zmprov -l gaa $DOMAIN_NAME | sort > $EMAIL  # genera una lista ordenada con tpodas las cuentas de correo del dominio 

for i in $(cat $EMAIL);
  do
      echo "Clean email - $i before $BFRDATE" >> $FLOG
      /opt/zimbra/bin/zmmailbox -z -m $i getallfolders |grep -i mess |sed -e "s/^\s\s*//" |sed -e "s/\s\s*/ /g"| cut -d" " -f5,6,7,8,9 > $FLDNM
      cat $FLDNM |while read f;
          do
              echo "Clean $i folder $f" >> $FLOG
              /opt/zimbra/bin/zmmailbox -z -m $i search -l 999 "in:\"$f\" (before:$BFRDATE)" |sed -e "s/^\s\s*//" |sed -e "s/\s\s*/ /g" | cut -d" " -f2 > $MESID
              tail $MESID -n +5 > $MESID2

              for a in $(cat $MESID2)
                  do
                      if [[ $a =~ [-]{1} ]] # le quitamos el - a algunas conversaciones
                          then
                              MESSAGEID=${a#-}
                              /opt/zimbra/bin/zmmailbox -z -m $i deleteMessage $MESSAGEID >> $FLOG
                          else
                              /opt/zimbra/bin/zmmailbox -z -m $i deleteConversation $a >> $FLOG
                          fi
                  done
    
              rm -f $MESID2
          done
  done

 

 

 

 

 

Sobre el autor

Enviar Comentario

Por admin

Entradas recientes

Comentarios recientes

Archivos

Categorías

Meta

admin

Get in touch

Quickly communicate covalent niche markets for maintainable sources. Collaboratively harness resource sucking experiences whereas cost effective meta-services.