[Dovecot] Expire failing with error Remote Disconnected
I'm trying to follow the instructions from: http://wiki.dovecot.org/Plugins/Expire for the BDB backend.
Everything is set up as indicated, but when I run:
dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool
I get back: Error: read(/var/run/dovecot/dict-server) failed: Remote disconnected
I'm sure it's something simple....
Thx
rick
dovecot -n: # 1.1.8: /etc/dovecot.conf # OS: Linux 2.6.18-92.el5 i686 Red Hat Enterprise Linux Server release 5.2 (Tikanga) ext3 ssl_cert_file: /etc/httpd/certs/_com.crt ssl_key_file: /etc/httpd/certs/.com.key.no.password login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(pop3): /usr/libexec/dovecot/pop3-login mail_uid: 1015 mail_gid: 105 mail_location: maildir:/var/spool/mail/%d/%n/Maildir mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(pop3): /usr/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota expire trash mail_plugins(imap): quota imap_quota expire trash mail_plugins(pop3): quota mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(pop3): /usr/lib/dovecot/pop3 imap_client_workarounds(default): delay-newmail outlook-idle imap_client_workarounds(imap): delay-newmail outlook-idle imap_client_workarounds(pop3): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh auth default: mechanisms: plain login passdb: driver: sql args: /etc/dovecot-sql.conf userdb: driver: passwd userdb: driver: sql args: /etc/dovecot-sql.conf userdb: driver: static socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vuser group: vuser plugin: quota: maildir quota_rule: *:storage=102400000 quota_rule2: Trash:storage=100M trash: /etc/dovecot-trash.conf expire: Trash 14 Trash/* 14 Spam 14 expire_dict: proxy::expire dict: expire: db:/var/lib/dovecot/expire.db
Rick Steeves http://www.sinister.net
"The journey is the destination"
I'm trying to follow the instructions from: http://wiki.dovecot.org/Plugins/Expire for the BDB backend.
Everything is set up as indicated, but when I run:
dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool
I get back: Error: read(/var/run/dovecot/dict-server) failed: Remote disconnected
Did you enable BDB during compile?
./configure --with-db
No idea - I installed from RPM. Is there a way to check?
Rick At 04:19 PM 2/13/2009, e-frog wrote:
I'm trying to follow the instructions from: http://wiki.dovecot.org/Plugins/Expire for the BDB backend.
Everything is set up as indicated, but when I run:
dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool
I get back: Error: read(/var/run/dovecot/dict-server) failed: Remote disconnected
Did you enable BDB during compile?
./configure --with-db
At 04:54 PM 2/13/2009, e-frog wrote:
No idea - I installed from RPM. Is there a way to check?
Check your dovecot error log. If BDB is not enabled you should see:
dovecot: dict: Unknown dict module: db
when I run the task dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool
Feb 13 17:40:24 agencymaildev dovecot: dict: secondary db: /var/lib/dovecot/expire.db: unexpected file type or format Feb 13 17:40:24 agencymaildev dovecot: dict: Failed to initialize dictionary 'expire'
Not quite the same thing?
In /var/lib/dovecot I have -rw------- 1 root root 24576 Feb 13 15:35 __db.001 -rw------- 1 root root 278528 Feb 13 15:35 __db.002 -rw------- 1 root root 98304 Feb 13 15:35 __db.003 -rw------- 1 root root 16384 Feb 13 15:35 __db.004
so something is going on.
Ok, well I'd created /var/lib/dovecot/expire.db with touch. Not so good apparently. When I delete that, now dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool runs with no errors, no output, no anything.
Rick
On Fri, 2009-02-13 at 17:54 -0500, dovecot@corwyn.net wrote:
Ok, well I'd created /var/lib/dovecot/expire.db with touch. Not so good apparently.
Nope.
When I delete that, now dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool runs with no errors, no output, no anything.
The expire database is empty, so it has nothing to do. Expire plugin updates the database while messages are being saved/copied to the expire mailboxes.
At 06:22 PM 2/13/2009, Timo Sirainen wrote:
On Fri, 2009-02-13 at 17:54 -0500, dovecot@corwyn.net wrote:
When I delete that, now dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool runs with no errors, no output, no anything.
The expire database is empty, so it has nothing to do. Expire plugin updates the database while messages are being saved/copied to the expire mailboxes.
So if I understand correctly (obviously not *sigh*) :-)
I have Trash and Spam defined as expire databases, I sent a number of messages, and then deleted them. They were then in Trash. I manually moved a bunch of messages to Spam as well. The Spam messages were > 14 days old.
I then reran dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool
I still get no events in /var/log/messages, and my Spam messages from Jan 22 are still there. On the bright side I do have an expire.db file now with data in it, tho I can't quite figure out what makes it update.
shouldn't the messages > 14 days old (the date I have set in.conf) go away?
Aha. So if I run it with --test I get # dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool --test Info: test222@example.com/Trash: stop, expire time in future: Sat Feb 28 02:26:38 2009
That mean it's working? (and if so why are my messages from 1/22 still there when I run it without --test?)
Thx!
Rick
As I've been tinkering with dovecot.conf, here's an updated copy: # 1.1.8: /etc/dovecot.conf # OS: Linux 2.6.18-92.el5 i686 Red Hat Enterprise Linux Server release 5.2 (Tikanga) ext3 ssl_cert_file: /etc/httpd/certs/example.com.crt ssl_key_file: /etc/httpd/certs/example.com.key.no.password login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(pop3): /usr/libexec/dovecot/pop3-login mail_uid: 1015 mail_gid: 105 mail_location: maildir:/var/spool/mail/%d/%n/Maildir mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(pop3): /usr/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota expire trash mail_plugins(imap): quota imap_quota expire trash mail_plugins(pop3): quota mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(pop3): /usr/lib/dovecot/pop3 imap_client_workarounds(default): delay-newmail outlook-idle imap_client_workarounds(imap): delay-newmail outlook-idle imap_client_workarounds(pop3): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh dict_db_config: /etc/dovecot-db.conf auth default: mechanisms: plain login passdb: driver: sql args: /etc/dovecot-sql.conf userdb: driver: passwd userdb: driver: sql args: /etc/dovecot-sql.conf userdb: driver: static socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix master: path: /var/run/dovecot/auth-master mode: 384 user: vuser group: vuser plugin: quota: maildir quota_rule: *:storage=102400000 quota_rule2: Trash:storage=100M trash: /etc/dovecot-trash.conf expire: Trash 14 Trash/* 14 Spam 14 expire_dict: proxy::expire dict: expire: db:/var/lib/dovecot/expire.db
On 2/13/2009 11:39 PM, dovecot@corwyn.net wrote:
At 06:22 PM 2/13/2009, Timo Sirainen wrote:
On Fri, 2009-02-13 at 17:54 -0500, dovecot@corwyn.net wrote:
When I delete that, now dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool runs with no errors, no output, no anything.
The expire database is empty, so it has nothing to do. Expire plugin updates the database while messages are being saved/copied to the expire mailboxes.
So if I understand correctly (obviously not *sigh*) :-)
I have Trash and Spam defined as expire databases, I sent a number of messages, and then deleted them. They were then in Trash. I manually moved a bunch of messages to Spam as well. The Spam messages were > 14 days old.
I then reran dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool
I still get no events in /var/log/messages, and my Spam messages from Jan 22 are still there. On the bright side I do have an expire.db file now with data in it, tho I can't quite figure out what makes it update.
shouldn't the messages > 14 days old (the date I have set in.conf) go away? It is not based on the message date, it is based on the date those messages got moved into the expire folders. You will have to wait 14 days from the date they got moved into Spam or Trash.
Jeff
On Fri, 2009-02-13 at 15:46 -0500, dovecot@corwyn.net wrote:
I get back: Error: read(/var/run/dovecot/dict-server) failed: Remote disconnected
Did it crash? What do you see in error log? There were lots of Berkeley DB fixes in v1.1.9. Although even then apparently there's some memory leaks..
participants (4)
-
dovecot@corwyn.net
-
e-frog
-
Jeff Grossman
-
Timo Sirainen