Backup from Mac OS X to a Linux server with Duplicity
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.
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
You can exclude files and folders from the backup by listing them in the
Give permission of execution (
chmod +x ~/bin/duplicity.selected.sh) and debug it
~/bin/duplicity.selected.sh --dry-run. With the
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 Reading filelist /Users/felipe/duplicity_exclude Sorting filelist /Users/felipe/duplicity_exclude Local and Remote metadata are synchronized, no sync needed. Last full backup date: none No signatures found, switching to full backup.
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.
duplicity $TO $FROM should be enough to restore
the backup once you need it. Check the
man page for backup restore details.