I am not a seasoned Ubuntu admin, so please bear with me if I am missing something obvious...

  1. Many WebDAV-providers supply usernames as "emailaddress@provider.tld". Although this does not seem to be RFC-compliant, users have to live with that anyway...

  2. Many WebDAV backends ignore duplicity's FTP_PASSWORD environment variable.

  3. Duplicity works OK when providing cleartext password from CLI, e.g.

    duplicity /localdir webdavs://'emailaddress@provider.tld':cleartextpassword@webdavname.provider.tld/remotedir
  4. However, I do not want to use my cleartext password in the command line process so that other users might not spoof it from the process list

  5. Trying to use duplicity from a shell script (bash), without using the cleartext password in the command, e.g.

    duplicity /localdir webdavs://'emailaddress@provider.tld':$PWVARIABLE@webdavname.provider.tld/remotedir

I always run into parsing problems of the juxtaposed "@" symbol which, together with the WebDAV URL, will be parsed into the variable name. This does not seem to be relieved by exchanging "%40" for "@" as duplicity (or bash?) do not seem to parse this in a useful manner.

Is there a workable syntax for this? Any help is greatly appreciated!

  • Quoting $PWVARIABLE will work (duplicity /localdir webdavs://'emailaddress@provider.tld':"$PWVARIABLE"@webdavname.provider.tld/remotedir ), but won't solve the problem of the password in the process list. Do you need to run this from a script? – kos Mar 31 '16 at 13:00
  • Yes. I want to run it from a script which would be run by cron e.g. on a weekly basis for off-site backups. – nomennominatur Mar 31 '16 at 14:00
  • 1
    Using @kos quotes around $PWVARIABLE does not work in my script. "$PWVARIABLE" does not seem to be parsed as a variable but as a text input. I get the error message [...]Giving up after 5 attempts. ExpatError: syntax error: line 1, column 49 – nomennominatur Mar 31 '16 at 14:20

The question has been answered on launchpad by the very helpful duplicity dev team:


Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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