I have a desktop computer at home with ~1TB of disk space running Debian Linux. With the help of Duplicity I automated an incremental backup of the files in the HOME directory of my Mac Book Pro which I use to do most of my work at home and on the go.

Usually, Duplicity is used to do cloud backups (Amazon S3, Dropbox…), but I don’t have a decent enough internet connection to make this practical. Besides that I don’t want to spend money on ~300GB of cloud storage.

## Quick HOWTO

Install Duplicity on the Mac OS X system using Homebrew.

$brew install duplicity  You will be convinced of the power of Duplicity by running duplicity --help | less and checking all the supported protocols and handy command options (check man duplicity for option details). On the Debian Linux server, create the directory for the backups $ mkdir ~/Backups


You should have a SSH+SFTP installed and properly configured on the Debian Linux server.

I placed my backup command in a script to make it easy to use. You should make the proper changes for your own setup.

You can exclude files and folders from the backup by listing them in the $EXCLUDE_FILELIST file. Give permission of execution (chmod +x ~/bin/duplicity.selected.sh) and debug it with ~/bin/duplicity.selected.sh --dry-run. With the --dry-run option, Duplicity will simulate everything but won’t actually backup anything. Once you’re sure everything works you can finally perform the actual backup. $ ~/bin/duplicity.selected.sh

When it runs for the first time, a full backup is performed. In later executions it automatically performs an incremental backup. You can run ~/bin/duplicity.selected.sh full to force a full backup if you want.
According to man duplicity, duplicity $TO$FROM should be enough to restore the backup once you need it. Check the man page for backup restore details.