Uses for integration

encrypted-backups

Encrypted backups

Encrypt your backups automatically and be 100% secure having all the benefits of cloud

efficient-backups

Efficient backups

Reduce your bandwith and storage costs, using compressed and incremental backups

Why use this integration

  • Easily automated backups can be set up in 10 minutes

  • Duplicity encrypts and decrypts data locally: not a single byte of unencrypted data reaches the cloud

  • Combine Webzilla Instant Files low prices with economy derived from incremental and compressed backups

  • Grandfather-father-son and many other strategies can be implemented using duplicity in no time

How To Use Duplicity integration

Setting your encrypted backups to Cloud Storage

You can use Duplicity for encrypted backups. This tools supports incremental backups and is very flexible. Below the very basic scenario is shown, you can adjust it to your needs. Should you have any questions, do not hesitate to contact Webzilla's support team.

  • All commands described in this article are for Ubuntu GNU/Linux. You might need to use other installation tools for other distributions.

First you need to make sure you have python and python package manager installed

oskar@schindler:~$ sudo apt-get update
oskar@schindler:~$ sudo apt-get install python python-pip


Then you need to have duplicity installed

oskar@schindler:~$ sudo apt-get install duplicity


Then you should check your version of duplicity.

oskar@schindler:~$ duplicity -V
duplicity 0.6.22


Further instructions depend on whether you have version 0.6.22 and above or older


Instructions for Duplicity 0.6.22 and above

First of all, you should install libraries, necessary for Duplicity to connect to Webzilla Instant Files

oskar@schindler:~$ pip install --user python-swiftclient python-keystoneclient


Please note, you should run command above without --user flag when running from root.

Than you should obtain your User name, Tenant name, API URL and Password from my.webzilla.com control panel. These credentials should be exported as environment variables. Make sure you replaced curly braces with actual credentials.

oskar@schindler:~$ export SWIFT_USERNAME="{Tenant_name}:{User_name}"
oskar@schindler:~$ export SWIFT_PASSWORD="{Password}"
oskar@schindler:~$ export SWIFT_AUTHURL="{API URL}"
oskar@schindler:~$ export SWIFT_AUTHVERSION=2


Then you should create a container either using any File Manager or in my.webzilla.com control panel. In our example, we use container named 'backup'.


Then you can run Duplicity, specifying source dir ('data' in our example) and target container ('backup').

oskar@schindler:~$ duplicity data swift://backup


Backups are encrypted by default and the encryption key is created automatically. You should enter passphrase for this key twice and carefully memorize it

GnuPG passphrase:
Retype passphrase to confirm:


If you want to disable encryption you can simply run previous command with --no-encryption flag

oskar@schindler:~$ duplicity --no-encryption data swift://backup


By default, duplicity creates incremental backup. If no previous backup signatures were found, duplicity would automatically switch to full backup. In order to force full backup, you should run it duplicity full command

oskar@schindler:~$ duplicity full data swift://backup


To restore the whole backup to a specific location ('restored' directory in our example) you can run duplicity restore command

oskar@schindler:~$ duplicity restore swift://backup ./restored


In order to restore single file ('2.test' in our example), you should use --file-to-restore flag

duplicity restore --file-to-restore 2.test swift://backup ./2.restored


In order to restore from a backup of specific age (3 days in our example), you should use -t flag

duplicity restore -t 3D --file-to-restore 2.test swift://backup ./2.restored


Instructions for Duplicity 0.6.21 and below

First of all, you should install libraries, necessary for Duplicity to connect to Webzilla Instant Files

oskar@schindler:~$ pip install --user python-cloudfiles


Please note, you should run command above without --user flag when running from root.

Than you should obtain your User name, Tenant name, API URL and Password from my.webzilla.com control panel. These credentials should be exported as environment variables. Make sure you replaced curly braces with actual credentials.

  • NB! You should change 'v2.0' to 'v1.0' in API URL for this way to work.

oskar@schindler:~$ export CLOUDFILES_USERNAME="{Tenant_name}:{User_name}"
oskar@schindler:~$ export CLOUDFILES_APIKEY="{Password}"
oskar@schindler:~$ export CLOUDFILES_AUTHURL="{MODIFIED API URL}"


Then you should create a container either using any File Manager or in my.webzilla.com control panel. In our example, we use container named 'legacybackup'.


Then you can run Duplicity, specifying source dir ('data' in our example) and target container ('legacybackup').

oskar@schindler:~$ duplicity data cf+http://legacybackup


Backups are encrypted by default and the encryption key is created automatically. You should enter passphrase for this key twice and carefully memorize it

GnuPG passphrase:
Retype passphrase to confirm:


If you want to disable encryption you can simply run previous command with --no-encryption flag

oskar@schindler:~$ duplicity --no-encryption data cf+http://legacybackup


By default, duplicity creates incremental backup. If no previous backup signatures were found, duplicity would automatically switch to full backup. In order to force full backup, you should run it duplicity full command

oskar@schindler:~$ duplicity full data cf+http://legacybackup


To restore the whole backup to a specific location ('restored' directory in our example) you can run duplicity restore command

oskar@schindler:~$ duplicity restore cf+http://legacybackup ./restored


In order to restore single file ('2.test' in our example), you should use --file-to-restore flag

duplicity restore --file-to-restore 2.test cf+http://legacybackup ./2.restored


In order to restore from a backup of specific age (3 days in our example), you should use -t flag

duplicity restore -t 3D --file-to-restore 2.test cf+http://legacybackup ./2.restored