Search code examples
ubuntubackupubuntu-18.04duplicityduplicity-backup

Duplicity FilePrefixError When Including Absolute Path


I am running across an error happening when I decide to include other folders in my backup, and I am wondering how I can correct it.

My full duplicity command is

duplicity \
    --include='/home/MINE/Shareable**' \
    --include='/home/MINE/Pictures**' \
    --volsize 10 \
    --s3-multipart-chunk-size 5 \
    --s3-use-new-style \
    --asynchronous-upload \
    /home/MINE/webapps/webapp2 \
    s3://s3.amazonaws.com//MYBACKUP/MYMACHINE/apps/MINE/webapp2 \
    --full-if-older-than 30D

If I do not include the --include arguments, it runs fine, once they are included I receive a FilePrefixError: /home/MINE/Shareable**.

Yes, all these paths do exist. To me, it seems as if duplicity is expecting the included paths to be relative to /home/MINE/webapps/webapp2 rather than absolute paths.

How can I correct this?

NOTE

duplicity \
    --exclude='*' \
    --include='/home/MINE/Shareable**' \
    --include='/home/MINE/Pictures**' \
    --volsize 10 \
    --s3-multipart-chunk-size 5 \
    --s3-use-new-style \
    --asynchronous-upload \
    /home/MINE/webapps/webapp2 \
    s3://s3.amazonaws.com//MYBACKUP/MYMACHINE/apps/MINE/webapp2 \
    --full-if-older-than 30D

ends with a new message:

Last selection expression:
    Command-line include glob: /home/MINE/Pictures**
only specifies that files be included.  Because the default is to
include all files, the expression is redundant.  Exiting because this
probably isn't what you meant.

Solution

  • Got it.

    I needed to switch around the ordering of the includes and excludes

    duplicity \
        --include='/home/MINE/Shareable' \
        --include='/home/MINE/Pictures' \
        --exclude='**' \
        --volsize 10 \
        --s3-multipart-chunk-size 5 \
        --s3-use-new-style \
        --asynchronous-upload \
        /home/MINE/webapps/webapp2 \
        s3://s3.amazonaws.com//MYBACKUP/MYMACHINE/apps/MINE/webapp2 \
        --full-if-older-than 30D