
Estoy intentando configurar copias de seguridad de los correos electrónicos de Dovecot entre 2 servidores. El comando que realiza el trabajo pesado es:
doveadm -D backup -R -u [email protected] ssh MAINSERVER.IP doveadm dsync-server -u [email protected]
Para la mayoría de los usuarios funciona bien, pero para un par de usuarios aparece un error 65 o un error 75. (El script dice que el comando remoto devolvió el error 75..." pero cuando pongo esto en un script, el código de retorno es 65.
El resultado del palomar para la cuenta fallida es el siguiente:
Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_deinit (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined symbol: quota_user_module (this is usually intentional, so just ignore this message)
Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so
Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_user_get_language_list (this is usually intentional, so just ignore this message)
Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: undefined symbol: mail_crypt_box_get_pvt_digests (this is usually intentional, so just ignore this message)
doveadm([email protected]): Debug: Effective uid=999, gid=999, home=/data/mail/[email protected]
doveadm([email protected]): Debug: maildir++: root=/data/mail/[email protected]/Maildir, index=, indexpvt=, control=, inbox=/data/mail/[email protected]/Maildir, alt=
doveadm([email protected]): Debug: Namespace : Using permissions from /data/mail/[email protected]/Maildir: mode=0700 gid=default
dsync-local([email protected]): Debug: brain M: Local mailbox tree: INBOX guid=58eedf276bc33864df08000079bc729c uid_validity=1681441643 uid_next=2 subs=no last_change=0 last_subs=0
dsync-local([email protected]): Debug: brain M: Remote mailbox tree: INBOX guid=58eedf276bc33864df08000079bc729c uid_validity=1396487587 uid_next=60912 subs=no last_change=0 last_subs=0
dsync-local([email protected]): Debug: brain M: Remote mailbox tree: Deleted Messages guid=c803c2075f1e625874120000b8a5d860 uid_validity=1396487588 uid_next=36883 subs=yes last_change=0 last_subs=1482825311
dsync-local([email protected]): Debug: brain M: Remote mailbox tree: Sent Messages guid=55567b0e54b57d58770d0000b8a5d860 uid_validity=1396487589 uid_next=345 subs=yes last_change=0 last_subs=1484633428
dsync-local([email protected]): Debug: brain M: Remote mailbox tree: Drafts guid=8e1b6a01ab197e602d700000b8a5d860 uid_validity=1396487591 uid_next=1 subs=yes last_change=0 last_subs=1618876837
dsync-local([email protected]): Debug: brain M: Remote mailbox tree: Notes guid=da8ed0191098355c672d0000b8a5d860 uid_validity=1396487590 uid_next=1 subs=yes last_change=0 last_subs=1547016208
dsync-local([email protected]): Debug: brain M: Mailbox Deleted Messages: local=00000000000000000000000000000000/0/0, remote=c803c2075f1e625874120000b8a5d860/0/1: mailbox not selectable yet
dsync-local([email protected]): Debug: brain M: Mailbox Drafts: local=00000000000000000000000000000000/0/0, remote=8e1b6a01ab197e602d700000b8a5d860/0/1: mailbox not selectable yet
dsync-local([email protected]): Debug: brain M: Mailbox INBOX: local=58eedf276bc33864df08000079bc729c/0/1, remote=58eedf276bc33864df08000079bc729c/0/1: Mailboxes are equal
dsync-local([email protected]): Debug: brain M: Mailbox Notes: local=00000000000000000000000000000000/0/0, remote=da8ed0191098355c672d0000b8a5d860/0/1: mailbox not selectable yet
dsync-local([email protected]): Debug: brain M: Mailbox Sent Messages: local=00000000000000000000000000000000/0/0, remote=55567b0e54b57d58770d0000b8a5d860/0/1: mailbox not selectable yet
dsync-local([email protected]): Debug: brain M: Deleting mailbox 'INBOX' (GUID 58eedf276bc33864df08000079bc729c): UIDVALIDITY changed (1396487587 -> 1681441643)
dsync-local([email protected]): Debug: doveadm-sieve: Iterating Sieve mailbox attributes
dsync-local([email protected]): Debug: sieve: Pigeonhole version 0.4.21 (92477967) initializing
dsync-local([email protected]): Debug: sieve: include: sieve_global is not set; it is currently not possible to include `:global' scripts.
dsync-local([email protected]): Debug: sieve: file storage: Using active Sieve script path: /data/mail/[email protected]/.dovecot.sieve
dsync-local([email protected]): Debug: sieve: file storage: Using script storage path: /data/mail/[email protected]/sieve
dsync-local([email protected]): Debug: sieve: file storage: Using permissions from /data/mail/[email protected]/sieve: mode=0700 gid=-1
dsync-local([email protected]): Debug: sieve: file storage: Relative path to sieve storage in active link: sieve/
dsync-local([email protected]): Debug: sieve: file storage: sync: Synchronization active
dsync-local([email protected]): Error: Mailbox INBOX sync: mailbox_delete failed: INBOX can't be deleted.
dsync-local([email protected]): Error: Remote command returned error 75: ssh 60.234.77.233 doveadm dsync-server -u [email protected] dsync-server
A pesar del mensaje "El comando remoto devolvió el error 75", sé que si elimino el buzón del servidor local y vuelvo a emitir el comando, se resincronizará, pero esto significa eliminar el buzón del cliente en el servidor local, lo cual preferiría no hacer, ya que puede volverse bastante grande y el ancho de banda entre los sitios es un poco escaso.
También creo que si hago una sincronización en lugar de una copia de seguridad (lo cual preferiría no hacer, porque soy nuevo en doveadm y no quiero poner en peligro el original) no hay ningún error.
Creo que el problema probablemente se relaciona con el hecho de que las 2 líneas iniciales sobre INBOX, pero no entiendo cómo ocurrió (solo hice sincronizaciones del buzón, posiblemente interrumpiéndolas, pero nada más), y eso también es un poco preocupante.
Estoy usando el formato MAILDIR y sospecho que parte del problema se relaciona con MAILDIR y no poder eliminar la bandeja de entrada, pero no entiendo por qué intenta eliminar la bandeja de entrada y ni siquiera sé lo que significa. por el INBOX ya que no hay ninguna carpeta que pueda encontrar llamada "/INBOX" o "/.INBOX" o similar en el servidor o copia de seguridad. "Maildir/cur" y "Maildir/new" existen (y están vacíos en el cliente). Maildir/new tiene correos electrónicos en el servidor pero está vacío en el cliente .
Inicialmente probé esto con mi servidor en Ubuntu 18.04, Dovecot 1:2.2.33.2-1ubuntu4.8. Luego actualicé SÓLO el cuadro de respaldo del que estoy extrayendo para ejecutar Ubuntu 20.04 con Dovecot 2.3.7.2; el mismo problema.
¿Es este un error conocido en Dovecot? ¿Existe alguna forma de solucionar este problema sin eliminar buzones de correo?
ACTUALIZACIONES
doveconf mail_location está configurado en mail_location = maildir:/data/mail/%u/Maildir (que se parece a lo que esperaría). No pude encontrar ninguna información de configuración con la palabra "espacio de nombres"
Cuando lo hago
doveadm mailbox status -u [email protected] all INBOX
Obtengo resultados diferentes en el cliente y el servidor. En el servidor de correo me sale
INBOX messages=524 recent=0 uidnext=60920 uidvalidity=1396487587 unseen=2 highestmodseq=59948 vsize=77692641 guid=58eedf276bc33864df08000079bc729c firstsaved=1680336216
En la copia de seguridad obtengo
INBOX messages=0 recent=0 uidnext=2 uidvalidity=1681441643 unseen=0 highestmodseq=3 vsize=0 guid=58eedf276bc33864df08000079bc729c firstsaved=18446744073709551615
En cada uno de los directorios de correo infractores, "MAILDIR/cur -s está vacío en la versión de respaldo, mientras que hay datos en la versión en el servidor.
Cuando intenté copiar el buzón "cur" del servidor de correo a la copia de seguridad y luego ejecutar "doveadm mailbox status -u[correo electrónico protegido]todo INBOX", la cantidad de mensajes volvió a 524, pero tan pronto como intenté hacer una copia de seguridad del cuadro, el error reapareció y había 0 mensajes en el INBOX en el servidor de respaldo.
Jugando con el comando "doveadm force-resync -u[correo electrónico protegido]INBOX" en el servidor de correo y la copia de seguridad (después de volver a llenar Maildir/cur en la copia de seguridad a través de scp) no ayudaron.