Backups

Doug Hardie bc979 at lafn.org
Sun Dec 11 08:56:52 UTC 2022


> On Dec 11, 2022, at 12:42 AM, John Tulp <johntulp at tulpex.com> wrote:
> 
> 
> -- 
> John Tulp <johntulp at tulpex.com>
> tulpex
> 
> On Sun, 2022-12-11 at 00:05 -0800, Doug Hardie wrote:
>>> 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
>> 
>> 
> 
> sorry, no clue.  i did find this link quickly...
> 
> https://doc.dovecot.org/configuration_manual/quota/
> 
> looks like the following section near the bottom of page may apply ?
> 
> "Maximum Saved Mail Size"
> 
> again, sorry, email is not "my thing" (chuckle inserted here).

As best as I can tell, that requires quota to be setup as plugin which I do not. Also, it indicates that the default value is 0 which is unlimited.

-- Doug



More information about the dovecot mailing list