Additions:
En cyrus con delete mailbox dm... (sam... es necesario para hacerlo como usuario cyrus en cyradm):
NOTA: este proceso es importante porque nos puede ahorrar gigas de espacio en el disco
Deletions:
En cyrus con delete mailbox dm... (sm... es necesario para hacerlo como usuario cyrus en cyradm):
NOTA2: este proceso es importante porque nos puede ahorrar gigas de espacio en el disco
Additions:
Ver
SysBorrarCuenta para una explicación completa sobre borrado de cuentas en general.
Borrando info@example.org:
Las entradas de más de mysql con:
DELETE FROM user WHERE username='info' AND realm='example.org'%%
Deletions:
Borrando info@example.org
Las entradas de mas de mysql con:
DELETE FROM user WHERE user='info@example.org'%%
Additions:
Deletions:
al momento de escribir esto existian 81 errores.
Additions:
Buzones fantasmas en Mysql
Buzones fantasmas en Cyrus
Deletions:
Errores en Mysql
Errores en Cyrus
Additions:
Para ver si los usuarios de mysql tienen su correspondiente en cyrus usamos
check_mbox_mysql.pl. Para listar solo errores, es decir usuarios solo ingresados en mysql pero cuyo mailbox no existe:
Revisar código de
check_mbox_mysql.pl
El proceso inverso es mas complicado, pues cyrus no es sencillo de hacer consultas. Para listar todos los mailboxes de cyrus (los que tienen hijos, asumimos todos los mailboxes ppales tienen hijos):
./cyrus_list.pl |sort |uniq >cyrus_users.txt
Revisar código de
cyrus_list.pl
Deletions:
Para ver si los usuarios de mysql tienen su correspondiente en cyrus:
para listar solo errores, es decir usuarios solo ingresados en mysql pero cuyo mailbox no existe:
./check_mbox_mysql.pl |grep ERROR
revisar código de
check_mbox_mysql.pl
El proceso inverso es mas complicado, pues cyrus no es sencillo de hacer consultas. para listar todos los mailboxes de cyrus (los que tienen hijos, asumimos todos los mailboxes ppales tienen hijos):
./cyrus_list.pl > cyrus_users.txt
Additions:
./cyrus_list.pl > cyrus_users.txt
Finalmente para ver que limpiar de cyrus, es decir listar mailboxes fantasmas (que no existen ya en mysql) usando el archivo que acabamos de crear cyrus_users.txt:
./check_mbox_cyrus.pl |grep ERROR
Deletions:
para listar solo aquellos de dominio virtual (todos los de mysql corresponden a dominios virtuales al menos hasta la fecha), ordenarnolos alfabeticamente (por domino y usuario) y ponerlos en un archivo:
./cyrus_list.pl |sort|cut -f2 -d" ">cyrus_users.txt
finalmente para ver que limpiar de cyrus, es decir listar mailboxes fantasmas (que no existen ya en mysql) usando el archivo que acabamos de crear cyrus_users.txt:
./check_mbox_cyrus.pl
./check_mbox_cyrus.pl |grep ERROR
Additions:
./cyrus_list.pl |sort|cut -f2 -d" ">cyrus_users.txt
Deletions:
./cyrus_list.pl |grep "@"|sort|cut -f2 -d" ">cyrus_users.txt
Additions:
Deletions:
Additions:
Deletions:
Las herramientas aqui usadas check_mbox_mysql.pl, cyrus_list.pl, check_mbox_cyrus.pl las cree para facilitar estas tareas y estan en el home del root en beta.
al momento de escribir esto habian 5 errores.
HOWTO: integridad cyrus-mysql
Este HOWTO explica como mantener la integridad entre los datos de cuentas de correo en Mysql y en Cyrus. Pueda que existan cuentas en Cyrus porque han sido borradas desde la adminitración o panel (mysql) pero no han sido borradas usando cyradm. También al revés aunque esto sería menos común. Es importante sobretodo eliminar las cuentas fantasmas de cyrus pues cada una puede ocupar hasta 500mb.
Las herramientas aqui usadas check_mbox_mysql.pl, cyrus_list.pl, check_mbox_cyrus.pl las cree para facilitar estas tareas y estan en el home del root en beta.
Errores en Mysql
Para ver si los usuarios de mysql tienen su correspondiente en cyrus:
para listar solo errores, es decir usuarios solo ingresados en mysql pero cuyo mailbox no existe:
./check_mbox_mysql.pl |grep ERROR
al momento de escribir esto habian 5 errores.
Errores en Cyrus
El proceso inverso es mas complicado, pues cyrus no es sencillo de hacer consultas. para listar todos los mailboxes de cyrus (los que tienen hijos, asumimos todos los mailboxes ppales tienen hijos):
para listar solo aquellos de dominio virtual (todos los de mysql corresponden a dominios virtuales al menos hasta la fecha), ordenarnolos alfabeticamente (por domino y usuario) y ponerlos en un archivo:
./cyrus_list.pl |grep "@"|sort|cut -f2 -d" ">cyrus_users.txt
finalmente para ver que limpiar de cyrus, es decir listar mailboxes fantasmas (que no existen ya en mysql) usando el archivo que acabamos de crear cyrus_users.txt:
./check_mbox_cyrus.pl
./check_mbox_cyrus.pl |grep ERROR
al momento de escribir esto existian 81 errores.
Como corregir los errores?
Borrando info@example.org
Las entradas de mas de mysql con:
# mysql -p mail
DELETE FROM user WHERE user='info@example.org'
En cyrus con delete mailbox dm... (sm... es necesario para hacerlo como usuario cyrus en cyradm):
# cyradm --user cyrus localhost
> sam user/info@example.org cyrus c
> dm user/info@example.org
NOTA: es posible generar un script en perl que genere las lineas sam y dm necesarias en los casos de ERROR y luego solo dar copy and paste en cyradm. Un intento con dos lineas en el shell:
Genera las lineas sam (esto aplicamos luego en cyradm):
./check_mbox_cyrus.pl |grep ERROR|cut -f1 -d" "|sed -e 's/^/sam user\//g'|sed -e 's/$/ cyrus c/g'
Genera las lineas dm (esto aplicamos luego en cyradm):
./check_mbox_cyrus.pl |grep ERROR|cut -f1 -d" "|sed -e 's/^/dm user\//g'
O ambas con awk:
./check_mbox_cyrus.pl |grep ERROR|cut -f1 -d" "|awk '{print "sam user/"$1" cyrus c\ndm user/"$1}'
NOTA2: este proceso es importante porque nos puede ahorrar gigas de espacio en el disco
CategorySysAdmin