d0ugal/hassio-dropbox-upload

DeleteError('path_lookup', LookupError('not_found', None)))

Closed this issue ยท 7 comments

Hi,

For first try I had same issue as in #7 , I tried suggestion and I added DNS server to /etc/docker/daemon.json, then it's started working.

2018-11-09 20:39:16,514 - INFO - Starting Snapshot backup
2018-11-09 20:39:16,542 - INFO - Found 6 snapshots
2018-11-09 20:39:16,543 - INFO - Backing up to Dropbox directory: /
2018-11-09 20:39:16,543 - INFO - Only backing up the first 5 snapshots
2018-11-09 20:39:16,543 - INFO - Snapshot: Friday, Nov 9, 2018 (1/5)
2018-11-09 20:39:16,544 - INFO - Size: 7.38 MB
2018-11-09 20:39:16,544 - INFO - Created: 2018-11-09T19:38:46.969854+00:00
2018-11-09 20:39:16,876 - INFO - No existing snapshot in dropox with this name
2018-11-09 20:39:21,075 - INFO -  54 %
2018-11-09 20:39:24,258 - INFO - 100 %
2018-11-09 20:39:24,260 - INFO - Snapshot: Friday, Nov 9, 2018 (2/5)
2018-11-09 20:39:24,261 - INFO - Size: 7.3 MB
2018-11-09 20:39:24,262 - INFO - Created: 2018-11-09T19:26:48.795538+00:00
2018-11-09 20:39:24,843 - INFO - No existing snapshot in dropox with this name
2018-11-09 20:39:29,134 - INFO -  55 %
2018-11-09 20:39:36,875 - INFO - 100 %
2018-11-09 20:39:36,875 - INFO - Snapshot: Automated Backup 2018-11-09 (3/5)
2018-11-09 20:39:36,876 - INFO - Size: 7.28 MB
2018-11-09 20:39:36,876 - INFO - Created: 2018-11-09T19:10:00.020160+00:00
2018-11-09 20:39:37,206 - INFO - No existing snapshot in dropox with this name
2018-11-09 20:39:40,740 - INFO -  55 %
2018-11-09 20:39:43,734 - INFO - 100 %
2018-11-09 20:39:43,735 - INFO - Snapshot: Automated Backup 2018-11-09 (4/5)
2018-11-09 20:39:43,735 - INFO - Size: 7.14 MB
2018-11-09 20:39:43,736 - INFO - Created: 2018-11-09T17:59:00.016550+00:00
2018-11-09 20:39:44,052 - INFO - No existing snapshot in dropox with this name
2018-11-09 20:39:47,111 - INFO -  56 %
2018-11-09 20:39:50,328 - INFO - 100 %
2018-11-09 20:39:50,328 - INFO - Snapshot: Wednesday, Oct 31, 2018 (5/5)
2018-11-09 20:39:50,329 - INFO - Size: 42.51 MB
2018-11-09 20:39:50,329 - INFO - Created: 2018-10-31T19:33:12.572203+00:00
2018-11-09 20:39:50,714 - INFO - No existing snapshot in dropox with this name
2018-11-09 20:39:53,685 - INFO -   9 %
2018-11-09 20:39:56,727 - INFO -  19 %
2018-11-09 20:40:00,064 - INFO -  28 %
2018-11-09 20:40:03,127 - INFO -  38 %
2018-11-09 20:40:06,074 - INFO -  47 %
2018-11-09 20:40:09,154 - INFO -  56 %
2018-11-09 20:40:12,218 - INFO -  66 %
2018-11-09 20:40:15,392 - INFO -  75 %
2018-11-09 20:40:18,636 - INFO -  85 %
2018-11-09 20:40:21,643 - INFO -  94 %
2018-11-09 20:40:24,134 - INFO - 100 %
2018-11-09 20:40:24,134 - INFO - Uploads complete
2018-11-09 20:40:24,134 - INFO - Total size: 71.61 MB
2018-11-09 20:40:24,135 - INFO - Limiting snapshots to the 5 most recent
2018-11-09 20:40:24,137 - INFO - Deleting 1 snapshots
2018-11-09 20:40:24,137 - INFO - Deleting 4.10.2018 - 22:27 (slug: 349f4e46
2018-11-09 20:40:24,602 - ERROR - Unhandled error
Traceback (most recent call last):
  File "/app/dropbox_upload/__main__.py", line 38, in main
    limit.limit_snapshots(dbx, cfg, snapshots)
  File "/app/dropbox_upload/limit.py", line 35, in limit_snapshots
    dbx.files_delete(path)
  File "/usr/lib/python3.6/site-packages/dropbox/base.py", line 1042, in files_delete
    None,
  File "/usr/lib/python3.6/site-packages/dropbox/dropbox.py", line 296, in request
    user_message_locale)
dropbox.exceptions.ApiError: ApiError('f49ab14fc1f83a6a6811ae564b6057fe', DeleteError('path_lookup', LookupError('not_found', None)))
2018-11-09 20:40:24,754 - INFO - Sleeping for 10 minutes

I see some files uploaded:

screenshot 2018-11-09 at 20 47 54

...what are these weird filenames? Isn't it should be something like "Automated Backup 2018-11-09"?

And the error:

dropbox.exceptions.ApiError: ApiError('f49ab14fc1f83a6a6811ae564b6057fe', DeleteError('path_lookup', LookupError('not_found', None)))

My Dropbox app setup:

screenshot 2018-11-09 at 20 49 45

Since I have permission to one folder only in config I have: "dropbox_dir": "/",

The "weird filenames" are the slug for the snapshots. It was the easiest way to make sure they had a unique name. There is a bug about improving this. See: #15

It is less of an issue afer a few days as you can sort by date:
screenshot 2018-11-09 19 56 19

The exception/error you are seeing. That is strange. Let me know if you see it again or it happens after you restart. I've not seen that before.

I have the same dropbox config as you. App folder only and "/" as the dropbox_dir

In the meantime I changed config to: "dropbox_dir": "", and it works fine, no error.

For names you should use something like "Automated Backup 2018-11-09 [ff8bc83c]". In this case we have human readable, but unique filename.

One more question: "mins_between_backups" process isn't "too resource hungry"? If we run backup once a day, it should not ping the system every xx minute, but only at desired time.

For names you should use something like "Automated Backup 2018-11-09 [ff8bc83c]". In this case we have human readable, but unique filename.

Indeed. Exactly what #15 is about. If you want to discuss naming that is the place to do it.

One more question: "mins_between_backups" process isn't "too resource hungry"? If we run backup once a day, it should not ping the system every xx minute, but only at desired time.

Not really. The container is very light, but there are possibly other options. Do open an issue and suggest ideas!

Thanks d0ugal, I don't open new issues for these recommendations, but I keeping my eyes on the project. ๐Ÿ‘ ๐Ÿ‘ ๐Ÿ‘

Today I see new error and nothing is uploaded to Dropbox:

  File "/app/dropbox_upload/dropbox.py", line 24, in upload_file
    commit = dropbox.files.CommitInfo(path=dest_path)
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 432, in __init__
    self.path = path
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 458, in path
    val = self._path_validator.validate(val)
  File "/usr/lib/python3.6/site-packages/dropbox/stone_validators.py", line 320, in validate
    % (val, self.pattern))
dropbox.stone_validators.ValidationError: 'e5b6c0be.tar' did not match pattern '(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)'
2018-11-11 20:46:53,555 - ERROR - Unhandled error
Traceback (most recent call last):
  File "/app/dropbox_upload/__main__.py", line 33, in main
    stats = backup.backup(dbx, cfg, snapshots)
  File "/app/dropbox_upload/backup.py", line 41, in backup
    stats = process_snapshot(config, dbx, snapshot)
  File "/app/dropbox_upload/backup.py", line 71, in process_snapshot
    dropbox.upload_file(dbx, path, target)
  File "/usr/lib/python3.6/site-packages/retrace.py", line 203, in wrapped_f
    return Retry(*dargs, **dkwargs)(f, *args, **kw)
  File "/usr/lib/python3.6/site-packages/retrace.py", line 301, in __call__
    self._limit.attempt(self.attempts)
  File "/usr/lib/python3.6/site-packages/retrace.py", line 142, in attempt
    raise LimitReached()
retrace.LimitReached
2018-11-11 20:46:53,555 - INFO - Sleeping for 60 minutes
2018-11-11 21:46:53,654 - INFO - Starting Snapshot backup
2018-11-11 21:46:53,671 - INFO - Found 7 snapshots
2018-11-11 21:46:53,671 - INFO - Backing up to Dropbox directory: 
2018-11-11 21:46:53,672 - INFO - Snapshot: Automated Backup 2018-11-11 (1/7)
2018-11-11 21:46:53,672 - INFO - Size: 8.87 MB
2018-11-11 21:46:53,673 - INFO - Created: 2018-11-11T20:05:00.019974+00:00
2018-11-11 21:46:53,673 - INFO - No existing snapshot in dropox with this name
Caught exception when calling dropbox_upload.dropbox.upload_file
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/retrace.py", line 289, in __call__
    result = fn(*args, **kwargs)
  File "/app/dropbox_upload/dropbox.py", line 24, in upload_file
    commit = dropbox.files.CommitInfo(path=dest_path)
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 432, in __init__
    self.path = path
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 458, in path
    val = self._path_validator.validate(val)
  File "/usr/lib/python3.6/site-packages/dropbox/stone_validators.py", line 320, in validate
    % (val, self.pattern))
dropbox.stone_validators.ValidationError: '52cda9c9.tar' did not match pattern '(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)'
Caught exception when calling dropbox_upload.dropbox.upload_file
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/retrace.py", line 289, in __call__
    result = fn(*args, **kwargs)
  File "/app/dropbox_upload/dropbox.py", line 24, in upload_file
    commit = dropbox.files.CommitInfo(path=dest_path)
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 432, in __init__
    self.path = path
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 458, in path
    val = self._path_validator.validate(val)
  File "/usr/lib/python3.6/site-packages/dropbox/stone_validators.py", line 320, in validate
    % (val, self.pattern))
dropbox.stone_validators.ValidationError: '52cda9c9.tar' did not match pattern '(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)'
Caught exception when calling dropbox_upload.dropbox.upload_file
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/retrace.py", line 289, in __call__
    result = fn(*args, **kwargs)
  File "/app/dropbox_upload/dropbox.py", line 24, in upload_file
    commit = dropbox.files.CommitInfo(path=dest_path)
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 432, in __init__
    self.path = path
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 458, in path
    val = self._path_validator.validate(val)
  File "/usr/lib/python3.6/site-packages/dropbox/stone_validators.py", line 320, in validate
    % (val, self.pattern))
dropbox.stone_validators.ValidationError: '52cda9c9.tar' did not match pattern '(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)'
Caught exception when calling dropbox_upload.dropbox.upload_file
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/retrace.py", line 289, in __call__
    result = fn(*args, **kwargs)
  File "/app/dropbox_upload/dropbox.py", line 24, in upload_file
    commit = dropbox.files.CommitInfo(path=dest_path)
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 432, in __init__
    self.path = path
  File "/usr/lib/python3.6/site-packages/dropbox/files.py", line 458, in path
    val = self._path_validator.validate(val)
  File "/usr/lib/python3.6/site-packages/dropbox/stone_validators.py", line 320, in validate
    % (val, self.pattern))
dropbox.stone_validators.ValidationError: '52cda9c9.tar' did not match pattern '(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)'
2018-11-11 21:47:07,152 - ERROR - Unhandled error
Traceback (most recent call last):
  File "/app/dropbox_upload/__main__.py", line 33, in main
    stats = backup.backup(dbx, cfg, snapshots)
  File "/app/dropbox_upload/backup.py", line 41, in backup
    stats = process_snapshot(config, dbx, snapshot)
  File "/app/dropbox_upload/backup.py", line 71, in process_snapshot
    dropbox.upload_file(dbx, path, target)
  File "/usr/lib/python3.6/site-packages/retrace.py", line 203, in wrapped_f
    return Retry(*dargs, **dkwargs)(f, *args, **kw)
  File "/usr/lib/python3.6/site-packages/retrace.py", line 301, in __call__
    self._limit.attempt(self.attempts)
  File "/usr/lib/python3.6/site-packages/retrace.py", line 142, in attempt
    raise LimitReached()
retrace.LimitReached
2018-11-11 21:47:07,153 - INFO - Sleeping for 60 minutes

You had previously said your dropbox_dir was "/", but I think it is now an empty string? ("")

If so. This is when #16 would help.

You are right, at some point I accidentally removed "/". ๐Ÿ‘Œ