Hi,
I had an old dovecot server with a working backup script.
Basic concept was:
- to dsync to a temp folder
- using tar to preserve datetime
- piping this 7z to benefit from my 16 core cpu
- piping this through openssl to encrypt
Over time the size of all my mail grew from 3GB to about 70GB. I used to keep the last 14 backups, but this uses a lot of space.
I now want to dsync my Maildir onto my NAS via NFS and use the backup tool provided by Synology to have incremental compressed backup.
However I cannot get dsync to run.
root@mail:/mnt/backup_mail# dsync -f -u USER@DOMAIN backup maildir:/mnt/backup_mail/MAILSERVER_FQDN/DOMAIN/USER/mail dsync(USER@DOMAIN): Error: User initialization failed: Namespace '': stat(/mnt/backup_mail/MAILSERVER_FQDN/DOMAIN/USER/mail) failed: Permission denied (euid=1001(vmail) egid=1001(vmail) missing +x perm: /mnt/backup_mail, UNIX perms appear ok (ACL/MAC wrong?)) root@mail:/mnt/backup_mail# dsync -u USER@DOMAIN backup maildir:/mnt/backup_mail/MAILSERVER_FQDN/DOMAIN/USER/mail dsync(USER@DOMAIN): Error: User initialization failed: Namespace '': stat(/mnt/backup_mail/MAILSERVER_FQDN/DOMAIN/USER/mail) failed: Permission denied (euid=1001(vmail) egid=1001(vmail) missing +x perm: /mnt/backup_mail, dir owner missing perms) ——— Error message changed after removing „-f“. I then applied the folder permissions (chmod +x backup_mail/) and I get a different error:
root@mail:/mnt/backup_mail# dsync -f -u USER@DOMAIN backup maildir:/mnt/backup_mail/MAILSERVER_FQDN/DOMAIN/USER/mail dsync(USER@DOMAIN): Error: User initialization failed: namespace configuration error: All list=yes namespaces must use the same separator
I found something about the namespace issue, but did not quite understand I guess. (separators seem to differ)
From doveconf -n: [...] namespace { list = children location = maildir:/var/vmail/mailboxes/%%d/%%n/Maildir:INDEXPVT=~/Maildir/shared/%%u prefix = shared/%%u/ separator = / subscriptions = yes type = shared } namespace inbox { inbox = yes location = mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Sent { auto = subscribe special_use = \Sent } mailbox Spam { auto = subscribe autoexpunge = 30 days special_use = \Junk } mailbox Trash { auto = subscribe autoexpunge = 183 days special_use = \Trash } prefix = } […] ——— However I only set up the namespace for inbox.
root@mail:/mnt/backup_mail# doveconf namespace gives
namespace { disabled = no hidden = no ignore_on_failure = no inbox = no list = children location = maildir:/var/vmail/mailboxes/%%d/%%n/Maildir:INDEXPVT=~/Maildir/shared/%%u order = 0 prefix = shared/%%u/ separator = / subscriptions = yes type = shared } namespace inbox { disabled = no hidden = no ignore_on_failure = no inbox = yes list = yes location = mailbox Drafts { auto = subscribe autoexpunge = 0 autoexpunge_max_mails = 0 comment = driver = special_use = \Drafts } mailbox Sent { auto = subscribe autoexpunge = 0 autoexpunge_max_mails = 0 comment = driver = special_use = \Sent } mailbox Spam { auto = subscribe autoexpunge = 60 days autoexpunge_max_mails = 0 comment = driver = special_use = \Junk } mailbox Trash { auto = subscribe autoexpunge = 60 days autoexpunge_max_mails = 0 comment = driver = special_use = \Trash } order = 0 prefix = separator = subscriptions = yes type = private }
I guess here we see the config including defaults. Well… I think I only need the inbox namespace either way, so I tried:
root@mail:/mnt/backup_mail# dsync -f -u USER@DOMAIN backup maildir:/mnt/backup_mail/MAILSERVER_FQDN/DOMAIN/USER/mail/ -n inbox dsync-local(USER@DOMAIN): Error: read(remote) failed: EOF (version not received) doveadm(USER@DOMAIN): Fatal: execvp(maildir:/mnt/backup_mail/MAILSERVER_FQDN/DOMAIN/USER/mail/) failed: No such file or directory dsync-local(USER@DOMAIN): Error: Remote command process isn't dying, killing it dsync-local(USER@DOMAIN): Error: kill(15306, SIGKILL) failed: Operation not permitted
The folder (mnt/backup_mail/MAILSERVER_FQDN/DOMAIN/USER/mail) however does exist.
Can anybody tell me if there is something I miss?
Thanks in advance!
-M