This backup script is a graphical wrapper for duplicity. For the older encfs based backup see /encfs.
- The backup tool is run manually on a desktop machine via a graphical user interface
- The stored backup data is encrypted, encryption is done on the local workstation
- Backup runs are possible for single folders (e.g. the "FSFE"-folder of employees)
- Backup runs are incremental, so the amount of data transferred after initial backups is small.
... as of 2016-08-25 (svn rev. 283)
- Recovery of single files is not supported, the script always restores complete backups
- single file recovery is possible from the command line
- Changing the backup password is currently not possible from the GUI (and can be tedious on the CLI)
- The tool does not allow removing old backups or forcing full backups out of schedule (but duplicity does on CLI)
Setup and Use
Use your package manager to make sure the above mentioned software is installed. Then download and run backup.sh. Usually you will have to set the executable flag before running a downloaded file.
From the duplicity manual:
- Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. Because duplicity uses librsync, the incremental archives are space efficient and only record the parts of files that have changed since the last backup. Because duplicity uses GnuPG to encrypt and/or sign these archives, they will be safe from spying and/or modification by the server.
Duplicity is a command line based tool. This script provides a graphical wrapper, handling authentication and setup. Bckup runs are kept incremental for 6 month, after 6 month a new full backup will be performed.
All data transfer to and from the backup server is done via Rsync/SSH. Each backup user has a separate system account on the backup server. Authentication to the server is performed via ssh public key. The backup program generates its own ssh keypair. The same passphrase is used for the ssh key and the backup encryption.
Changing a password
Should the passphrase be changed, it must be changed for the ssh key, and for existing backup archives. The latter is tricky. It is also possible to start a new backup chain, by performing a full backup manually. However, when this is done the old passphrase is still required for restoring existing archives.
Setup on Backup Server
The backup server must provide ssh public key logins for each user as well as rsync.
The backup server in the Berlin office is a RaspberryPi model 1B+ running raspbian wheezy. The system was installed via the Raspbian unattended installer. As storage device we use an external hard disk attached to the computer and running 24/7. Backup users currently have full shell access.