Backups

Doug Hardie bc979 at lafn.org
Sun Dec 11 08:05:49 UTC 2022


> On Dec 10, 2022, at 11:09 AM, John Tulp <johntulp at tulpholdings.com> wrote:
> 
> 
> 
> On Fri, 2022-12-09 at 20:03 -0800, Doug Hardie wrote:
>>> On Dec 4, 2022, at 1:42 PM, Doug Hardie <bc979 at lafn.org> wrote:
>>> 
>>>> On Dec 3, 2022, at 11:50 PM, Doug Hardie <bc979 at lafn.org> wrote:
>>>> 
>>>> I started to investigate using doveadm backup to backup my mail
>>>> system.  I have a small number of users and the mail store is not
>>>> large.  It uses maildir format.  I setup a test system that is not
>>>> connected to the internet and started up dovecot.  I used the
>>>> following command to backup one user:
>>>> 
>>>> doveadm backup -u ben remote:test
>>>> 
>>>> ben is the user is in the mail store.  Test is the actual server
>>>> name.  That worked just fine.  The maildir was copied completely
>>>> (as best as I can tell with ls).  Then I tried the second user:
>>>> 
>>>> doveadm backup -u jean remote:test
>>>> 
>>>> This gives 2 error messages:
>>>> 
>>>> doveadm(jean)[]<McRYOFI0jGN1MwAAmC+70w>: Error: Mailbox INBOX:
>>>> Failed to get attribute
>>>> vendor/vendor.dovecot/pvt/server/sieve/files/.dovecot: Mailbox
>>>> attributes not enabled
>>>> 
>>>> doveadm(jean)[]<0IwxIlI0jGMgUwAAZU03Dg>: Error: Remote command
>>>> returned error 65: ssh test doveadm dsync-server -ujean -U
>>>> 
>>>> In addition, the maildir directories are created, but there are no
>>>> emails in any of them (e.g., cur).  What is the problem with the
>>>> 2nd and why does it behave differently from the first?
>>> 
>>> I managed to resolve most of the issue.  I use pigeonhole on the
>>> primary server.  Apparently not having pigeonhole installed on the
>>> test machine caused the errors above.  The test machine was never
>>> intended to receive mail hence, no need to install pigeonhole as the
>>> LDA would never be used.  However, when the backup was running, it
>>> choked on transferring the sieve file.  I have no idea where the
>>> mentioned file resides as I couldn't find it anywhere on the primary
>>> server.  Installing pigeonhole resolved the issue for all but one
>>> user. With that user, I get the following error messages:
>>> 
>>> doveadm(doug)[]<NAfSLTASjWNWTAAAmC+70w>: Panic: file
>>> istream-seekable.c: line 238 (read_from_buffer): assertion failed:
>>> (*ret_r > 0)
>>> Abort
>>> 
>>> doveadm(doug)[]<C2AvHjASjWN2gQAAZU03Dg>: Error: read(test) failed:
>>> EOF (last sent=mail, last recv=mail_request (EOL))
>>> 
>>> doveadm(doug)[]<C2AvHjASjWN2gQAAZU03Dg>: Error: Remote command
>>> returned error 134: ssh test doveadm dsync-server -udoug -U
>>> 
>>> In addition, only a few cur files are transferred in INBOX.
>>> Repeating the backup generates the same errors and no additional
>>> emails are transferred.  I am wondering if the problem is something
>>> in the INBOX.
>> 
>> 
>> 
>> 
>> I have pretty much reached a dead end.  I am unable to determine the
>> cause of this abnormal termination.  The logged messages don't give
>> much help.  I can't tell if it is the primary server or test machine
>> that is terminating ssh.  I have setup a second test machine.  Both of
>> the test machines are raspberry pi 4s.  The real backup machine is
>> intel.  On both the test machines, 2 of the three users are backedup
>> properly with no errors.  Only one use has the issue.  It builds the
>> directory structure correctly then starts transferring the INBOX cur
>> files.  Eight files are transferred correctly before it stop.  It is
>> the same set of 8 on both test machines.  That leads me to believe
>> there is something funny in one of the messages, but which one.  There
>> are over 100 messages in that directory.  The order of file transfer
>> is not by date.  
>> 
>> 
>> How do I get doveadm to tell me which file is being transferred when
>> the problem occurs?  
> 
> if the problem is in one of the messages, perhaps change the test set.
> for convenience, can temporarily rename/move things to get them out of
> the way. divide test set in half, then in half again, etc., to zero in
> on the one causing the issue, that'll show if a particular message is
> problem or not.
> 
> once you find a problem message, if the why isn't obvious, i'd try
> looking at it in hex, check permissions, etc.

I have found the cause for the errors:  Somehow I had overlooked the -D argument to doveadm.  That is really helpful in diagnosing backup issues.  I discovered that there was one email that was 130+ MB.  Doveadm cannot handle that.  It appears there is a message size limit somewhere.  I don't know if that is changeable or not.  Anyway, removing that email from the mailbox, deleting it from the Trash, and purging the account enabled backup to work properly.  I don't get too many emails that large, but it does happen occasionally.  How do I go about telling dovecot to handle those?

-- Doug




More information about the dovecot mailing list