Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ukanga/duplicity-backup
Using duplicity to backup mysql, mongo and a folder
https://github.com/ukanga/duplicity-backup
Last synced: 3 months ago
JSON representation
Using duplicity to backup mysql, mongo and a folder
- Host: GitHub
- URL: https://github.com/ukanga/duplicity-backup
- Owner: ukanga
- Created: 2013-08-27T05:33:39.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2017-05-30T13:51:02.000Z (over 7 years ago)
- Last Synced: 2024-06-03T09:45:54.671Z (5 months ago)
- Language: Shell
- Size: 9.77 KB
- Stars: 20
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Using duplicity - Encrypted incremental backup to local or remote storage.
### Install duplicity and Dependencies
Required: duplicity >=0.6.21
Ubuntu 12.04
# su - -c "echo 'deb http://ppa.launchpad.net/duplicity-team/ppa/ubuntu precise main' | tee /etc/apt/sources.list.d/duplicity.list"
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv AF953139C1DF9EF3476DE1D58F571BB27A86F4A2
# apt-get updateUbuntu
# apt-get install duplicity
Arch linux
# pacman -S duplicity
If you are going to use Amazon S3 storage install boto
# apt-get install python-pip
# pip install botoYou'll need the [couchdb-dump](https://www.npmjs.com/package/couchdb-dump) NPM module inorder to backup CouchDB databases
# apt-get install nodejs-legacy npm
# npm install -g couchdb-dump### Setup Encryption
Generate the key
# gpg --gen-key
Note: You may need to increase entropy in order to help the key to be generated
faster. You can do this on a separate terminal or ssh connection. In ubuntu:# apt-get install rng-tools
Edit /etc/default/rng-tools and have a line with `HRNGDEVICE=/dev/urandom`
# /etc/init.d/rng-tools start
List the keys
# gpg --list-keys
pub 2048R/A39F74A9 2013-08-25
uid info
sub 2048R/B2E8AC86 2013-08-25Copy a public key: should be `A39F74A9` in these case, this will be used with
duplicity to encrypt and decrypt the backups.### Custom Shell Script for Backup and Restore
#### configuration
create a file named `.backup_config` to the home directory and make the
necessary changes. You can copy example_config and edit accordingly.cp example_config ~/.backup_config
#### backup
duplicity_backup mysql
duplicity_backup postgres
duplicity_backup mongo
duplicity_backup couchdb
duplicity_backup folder /path/to/target/folder file:///path/to/backup/target
duplicity_backup folder /path/to/target/folder s3://BUCKET/target#### restore
duplicity_backup restore mysql /path/to/restore/folder
duplicity_backup restore postgres /path/to/restore/folder
duplicity_backup restore mongo /path/to/restore/folder
duplicity_backup restore couchdb /path/to/restore/folder
duplicity_backup restore folder file:///path/to/backup/target /path/to/restore/target
duplicity_backup restore folder s3://BUCKET/target /path/to/restore/targetNOTE: you have to restore the actual database after this, if that is your intention.
`Mysql`:
mysql -u USERNAME -p DB_NAME < /path/to/restore/folder/DB_NAME.sql
`Mongo`:
mongorestore /path/to/restore/folder
`CouchDB`:
gunzip /path/to/restored/file
cdbload -d database_to_restore < /path/to/extracted/json