I'm using Deja Dup to backup my laptop to S3. This has been working for many backups but as of 20 days ago stopped working.

Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1532, in <module>
  File "/usr/bin/duplicity", line 1526, in with_tempdir
  File "/usr/bin/duplicity", line 1364, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/lib/python2.7/dist-packages/duplicity/commandline.py", line 1108, in ProcessCommandLine
    globals.backend = backend.get_backend(args[0])
  File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 223, in get_backend
    obj = get_backend_object(url_string)
  File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 209, in get_backend_object
    return factory(pu)
  File "/usr/lib/python2.7/dist-packages/duplicity/backends/_boto_single.py", line 161, in __init__
  File "/usr/lib/python2.7/dist-packages/duplicity/backends/_boto_single.py", line 194, in resetConnection
    raise e
S3ResponseError: S3ResponseError: 403 Forbidden

I've verified the user policies are correct. I've tested them out in AWS policy tester as well as used them with the AWS CLI to list buckets, read from the backup bucket and write to the backup bucket.

Backups on my desktop are still working and those use the same credentials. The desktop and laptop backups do not go into the same bucket but the same user credentials are used.

My machines time is not out of sync.

I've verified the deja dup settings are correct both in the UI and in the dconf editor.

I use my laptop more than my desktop so it's possible that it got some update that could have messed things up but i'm not sure what.

Been digging in for a few hours now and am at a loss. I would like this backup before attempting to upgrade to 18.04 in the near future.

version info: aws-cli/1.15.79 Python/2.7.12 Linux/4.15.0-30-generic botocore/1.10.78 boto 2.49.0
botocore 1.10.78

Edit: The above was with Ubuntu 16. I've recently upgraded to Ubuntu 18 and am still experiencing an issue. I think its the same problem but the logs are a bit different. Here are what they are on Ubuntu 18:

DUPLICITY: ERROR 30 S3ResponseError
DUPLICITY: . Traceback (innermost last):
DUPLICITY: .   File "/usr/bin/duplicity", line 1555, in <module>
DUPLICITY: .     with_tempdir(main)
DUPLICITY: .   File "/usr/bin/duplicity", line 1541, in with_tempdir
DUPLICITY: .     fn()
DUPLICITY: .   File "/usr/bin/duplicity", line 1380, in main
DUPLICITY: .     action = commandline.ProcessCommandLine(sys.argv[1:])
DUPLICITY: .   File "/usr/lib/python2.7/dist-packages/duplicity/commandline.py", line 1127, in ProcessCommandLine
DUPLICITY: .     globals.backend = backend.get_backend(args[0])
DUPLICITY: .   File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 223, in get_backend
DUPLICITY: .     obj = get_backend_object(url_string)
DUPLICITY: .   File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 209, in get_backend_object
DUPLICITY: .     return factory(pu)
DUPLICITY: .   File "/usr/lib/python2.7/dist-packages/duplicity/backends/_boto_single.py", line 166, in __init__
DUPLICITY: .     self.resetConnection()
DUPLICITY: .   File "/usr/lib/python2.7/dist-packages/duplicity/backends/_boto_single.py", line 191, in resetConnection
DUPLICITY: .     location=self.my_location)
DUPLICITY: .   File "/home/aaronloes/.local/lib/python2.7/site-packages/boto/s3/connection.py", line 628, in create_bucket
DUPLICITY: .     response.status, response.reason, body)
DUPLICITY: .  S3ResponseError: S3ResponseError: 403 Forbidden
DUPLICITY: . <?xml version="1.0" encoding="UTF-8"?>
DUPLICITY: . <Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><AWSAccessKeyId>XXXXXCENSORXXXXX</AWSAccessKeyId><StringToSign>PUT

I cleared out my key in the logs but i have verified that is the correct key. I'm not sure how i can get duplicity/dejadup to prompt me for my AWS secret again because maybe that got cached bad somehow?

awscli 1.15.79
Python 2.7.15rc1 4.15.0-38-generic boto 2.49.0
botocore 1.10.78

Edit was able to get deja-dup to prompt me for new credentials and still no difference. I know without any doubt that duplicity is using the appropriate credentials and i know without a doubt that the credentials are good.


Try reinstalling duplicity. Most problems like this can be solved with a simple reinstall. Otherwise, use tar to create a backup of / with dialog and the following code:

# Backup all files under / directory
# Display message with option to cancel
dialog --title "Backup" --msgbox "Time for backup! Press <Enter> to start backup or <Esc> to cancel." 0 0
# Return status of non-zero indicates cancel
if [ "$?" != "0" ]
  dialog --title "Backup" --msgbox "Backup was canceled at your request." 0 0
  tarlocation=$(dialog --inputbox "Where would you like to save the TAR file?" 0 0)
  dialog --title "Backup" --infobox "Backup in progress..." 0 0
  cd ~
  # Backup using tar; redirect any errors to a
  # temporary file      
  tar -czf $tarlocation 0 0 >|/tmp/ERRORS$$ 2>&1
  # zero status indicates backup was successful
  if [ "$?" = "0" ]
    dialog --title "Backup" --msgbox "Backup completed successfully." 0 0
    # Backup failed, display error log
    dialog --title "Backup" --msgbox "Backup failed -- Press <Enter> to see error log." 0 0
    dialog --title "Error Log" --textbox /tmp/ERRORS$$ 0 0
rm -f /tmp/ERRORS$$


  • I uninstalled duplicity and deja-dup and reinstalled both with no success. – loesak Nov 18 '18 at 3:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.