Scripts y Comandos de utilidad

Daniel Eugenin M. -

1) BLOQUEA/ACTIVA CUENTA
Script para cerrar/activar una cuenta. Esto es con el fin de que no le lleguen correos a su cuenta y reboten al originario, sin que quede este correo encolado en el servidor.

Script: bloquea_cuenta

#!/bin/bash
param=$*
for aa in `echo $param`; do
   if [ "$aa" == "$0" ]; then
      echo ""
   else
      echo "Cerrando cuenta: $aa"
      /opt/zimbra/bin/zmprov ma $aa zimbraAccountStatus closed
fi
done 

Ejemplo de uso:    bloquea_cuenta correo1@domain.com correo2@domain.com

 

Script: activa_cuenta

#!/bin/bash
param=$*
for aa in `echo $param`; do
   if [ "$aa" == "$0" ]; then
      echo ""
   else
      echo "Cerrando cuenta: $aa"
      /opt/zimbra/bin/zmprov ma $aa zimbraAccountStatus active
fi
done 

Ejemplo de uso:    activa_cuenta correo1@domain.com correo2@domain.com

 

2) OBTENCIÓN DE LISTAS DE DISTRIBUCIÓN

Script para obtener un archivo con todas las listas de distribución en un formato que sirva para volverlas a crear nuevamente.

Script 1: 

for a in `zmprov gadl`; do 
echo -ne "zmprov cdl $a ";
zmprov gdl $a zimbraMailForwardingAddress | grep -v ^# | sed 's/://g' | sed ':a;N;$!ba;s/\n/ /g';
echo;
done > /tmp/CREATE_LISTS.sh

 

3) OBTENCIÓN DEL LISTADO DE CUENTAS

Script para obtener el listado de cuentas.

Script 1:

zmprov -l gaa

 

Script para obtener el listado de cuentas con sus nombres y apellidos.

Script 2:

for a in `zmprov -l gaa` ; 
do zmprov ga $a givenName sn | sed ':a;N;$!ba;s/\n/ /g' | sed 's/\# name //g' | sed 's/givenName: //g' | sed 's/sn: //g';
done > /tmp/LISTADO_CUENTAS.txt

 

Script para obtener el listado de todas las cuentas con los siguientes atributos separados por tabulador: cn sn givenName displayName zimbraCreateTimestamp.

Script 3:

for a in `zmprov -l gaa`; do zmprov ga $a cn sn displayName givenName zimbraCreateTimestamp | sed ':a;N;$!ba;s/\n/ /g' | sed 's/\# name //g' | sed 's/givenName: /\t/g' | sed 's/sn: /\t/g' | sed 's/displayName: /\t/g' | sed 's/cn: /\t/g' | sed 's/zimbraCreateTimestamp: /\t/g'; done

 

 

4) LISTAR EL ESPACIO UTILIZADA DE TODAS LAS CASILLAS

El siguiente script presenta un listado de todas las casillas existentes junto con el espacio que tiene utilizado.

#!/bin/bash
all_account=`zmprov -l gaa`;
for account in ${all_account}
do
    mb_size=`zmmailbox -z -m ${account} gms`;
    echo "Mailbox size of ${account} = ${mb_size}";
done > /tmp/TAMANOS_CASILLAS.txt

 

5) AUMENTAR EL TAMAÑO DE CUENTAS PERMITIDAS POR DOMINIO (por ej: 100 casillas)

zmprov md dominio.cl zimbraDomainMaxAccounts 100

 

6) SETEAR AUTORESPUESTA (VACACIONES) A TODOS LOS CORREOS

zmprov ma pbruna@example.com zimbraPrefOutOfOfficeCacheDuration 0

 

7) POR CUENTA: RESPONDER A TODOS LOS CORREOS QUE NOS ENVÍE DESDE CIERTO DOMINIO

zmmailbox -z -m pbruna@example.com afrl "GMAIL" active all header "from" contains "gmail.com" reply "Su correo fue recibido"


8) OBTENER LOS CORREOS SIN LEER DE TODAS LAS CUENTAS

for c in `zmprov -l gaa`
do
resultado=$(zmmailbox -z -m $c gaf | awk '{ if (NR>2) { if ($3 > 1) { SUM+= $3; print "Tiene",SUM, "correos sin leer"; } };} ')
if [ -z "$resultado" ]; then
echo "La casilla $c no tiene correos sin leer"
else
echo "La casilla $c $resultado"
fi
done

 

9) SCRIPT PARA VER LAS VERSIONES DE TODO EL SOFTWARE QUE CONTIENE ZIMBRA

Véase: https://itlinux.zendesk.com/entries/21795752-ver-versiones-de-servicios-zimbra-postfix-spamassassin-...

 

10) SCRIPT PARA VER TODOS LOS FORWARDS DE LAS CUENTAS

for a in `zmprov -l gaa`; do zmprov ga $a zimbraPrefMailForwardingAddress; done | grep -B1 zimbraPrefMailForwardingAddress

 

11) Reporte uso casillas (quota asignada - espacio utilizado)

Script original en: http://wiki.zimbra.com/wiki/Mailbox_usage_report

#!/bin/bash
output="/tmp/accountusage"
domain="comain.cl"

rm -f $output

touch $output

server=`hostname`
/opt/zimbra/bin/zmprov gqu $server|grep $domain|awk {'print $1" "$3" "$2'}|sort|while read line
do
usage=`echo $line|cut -f2 -d " "`
quota=`echo $line|cut -f3 -d " "`
user=`echo $line|cut -f1 -d " "`
status=`/opt/zimbra/bin/zmprov ga $user | grep ^zimbraAccountStatus | cut -f2 -d " "`
echo "$user utilizado: `expr $usage / 1024 / 1024`Mb quota asignada: `expr $quota / 1024 / 1024`Mb (cuenta $status)" >> $output
done

echo "process completed"

 

12) SCRIPT PARA BUSCAR FORWARDS EN CUENTAS


   #!/bin/bash
   file1="/tmp/BUSCA"
   for a in `zmprov -l gaa`; do echo "ga $a zimbraPrefForwardingAddress zimbraPrefMailForwardingAddress zimbraPrefNewMailNotificationAddress"; done > $file1
   zmprov < $file1 > $file1-res
   grep -B1 ^zimbraPrefForwardingAddress $file1-res
   echo
   echo
   grep -B1 ^zimbraPrefMailForwardingAddress $file1-res
   echo
   echo
   grep -B1 ^zimbraPrefNewMailNotificationAddress $file1-res












    



¿Tiene más preguntas? Enviar una solicitud

0 Comentarios

Inicie sesión para dejar un comentario.
Tecnología de Zendesk