Kopano Restore Backup skip folders

Hi there,

during the restore of previous backups from a Zarafa Installation the following errors appearing:

2017-03-03 11:14:47,134 - backup - INFO - restoring folder Sychronisierungsprobleme/Lokale Fehler
2017-03-03 11:14:47,234 - backup - INFO - stopping backup
2017-03-03 11:14:47,250 - backup - ERROR - Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/kopano/__init__.py", line 4227, in log_exc
    try: yield
  File "/usr/lib/python2.7/dist-packages/kopano/__init__.py", line 4563, in start
    daemon_helper(self.main, self, self.log)
  File "/usr/lib/python2.7/dist-packages/kopano/__init__.py", line 4011, in daemon_helper
    func()
  File "/usr/lib/python2.7/dist-packages/kopano_backup/__init__.py", line 195, in main
    self.restore()
  File "/usr/lib/python2.7/dist-packages/kopano_backup/__init__.py", line 270, in restore
    folder = store.subtree.folder(restore_path, create=True)
  File "/usr/lib/python2.7/dist-packages/kopano/__init__.py", line 2139, in folder
    mapifolder = self.mapiobj.CreateFolder(FOLDER_GENERIC, unicode(name), u'', None, MAPI_UNICODE)
  File "/usr/lib/python2.7/dist-packages/MAPICore.py", line 512, in CreateFolder
    def CreateFolder(self, *args): return _MAPICore.IMAPIFolder_CreateFolder(self, *args)
MAPIErrorCollision: MAPI error 80040604

This is only possible if I add the --recursive parameter. If I try to restore a backup without it I got

2017-03-03 11:18:06,661 - backup - INFO - restoring folder Journal
2017-03-03 11:18:06,782 - backup - INFO - stopping backup
2017-03-03 11:18:06,785 - backup - ERROR - Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/kopano/__init__.py", line 4227, in log_exc
    try: yield
  File "/usr/lib/python2.7/dist-packages/kopano/__init__.py", line 4563, in start
    daemon_helper(self.main, self, self.log)
  File "/usr/lib/python2.7/dist-packages/kopano/__init__.py", line 4011, in daemon_helper
    func()
  File "/usr/lib/python2.7/dist-packages/kopano_backup/__init__.py", line 195, in main
    self.restore()
  File "/usr/lib/python2.7/dist-packages/kopano_backup/__init__.py", line 270, in restore
    folder = store.subtree.folder(restore_path, create=True)
  File "/usr/lib/python2.7/dist-packages/kopano/__init__.py", line 2139, in folder
    mapifolder = self.mapiobj.CreateFolder(FOLDER_GENERIC, unicode(name), u'', None, MAPI_UNICODE)
  File "/usr/lib/python2.7/dist-packages/MAPICore.py", line 512, in CreateFolder
    def CreateFolder(self, *args): return _MAPICore.IMAPIFolder_CreateFolder(self, *args)
MAPIErrorCollision: MAPI error 80040604

After both errors, the backup terminates.

I don’t know the sense of this folder, it’s empty. Are there any possibilities to skip those blocking senseless folders? The -f parameter expects every single path to restore everything around the blocking folders (not possible to define Inbox/* as parameter), that’s no possibility. Are there any ideas to restore the backups?

Thanks a lot.

Greetings

Atomius

@Atomius hiya,

this may be due to pre-existing folders with the same name/path as those in the backup, but only when comparing them case-insensitively. we should have fixed this for 8.3 at least, not sure about 8.2.

to verify that this is the case, please compare the output of:

./kopano-backup --stats backup_dir

with the folders in the account where you are restoring to.

so for example if there is a folder called “INBOX” in the backup, and an existing folder called “Inbox”, that would explain the problem. a work-around would then be to rename the folder(s) in the account to be identical.

btw of course happy to login remotely to debug the issue further if needed. if that is possible, please contact me/felix privately.