I've used duplicity for a long time now, not because I like it but because it encrypts everything before uploads it.

I remember used it to backup my stuff to rsync servers; to backup stuff in previous $WORK, in both cases the destination servers were safe but not the transport (clear text rsync over internet).

Now I have access to Cloud Files for free so I plan to use to backup mystuff. While I would like to use backup2swift I wasn't able to make it work yet, so I will take an old duplicity script, modify it a little bit and use it.

sudo cat /etc/cron.daily/backup-duplicity
#!/bin/sh
export CLOUDFILES_USERNAME=XXXXXXXXXX
export CLOUDFILES_APIKEY=XXXXXXXXX
export PASSPHRASE=XXXXXXXXXX

cd /opt/duplicity/bin
./duplicity --full-if-older-than 1M \
--include /root --include /etc --include /usr/local --include /home/myuser/.mozilla --include /home/myuser/.purple \
--exclude /home/myuser/repos --exclude /home/myuser/mail --exclude /home/myuser/downloads --exclude /home/myuser/.owncloud \
--exclude /home/myuser/.cache \
--include /home/myuser \
--exclude '**' /  cf+http://notebook-bkp >/dev/null 2>/dev/null

Duplicity needs pyrax library to talk to Cloud Files, it is not packaged for Debian so I have to run it from a virtualenv, how did I do it?

apt-get install librsync-dev
virtualenv /opt/duplicity
source /opt/duplicity/bin/activate
pip install pyrax
cd /opt/duplicity
wget https://code.launchpad.net/duplicity/0.6-series/0.6.26/+download/duplicity-0.6.26.tar.gz ---> always get latest version
tar xvzf duplicity-0.6.26.tar.gz
python setup.py install