Skip to main content

Filesystem and database backup Buildout recipe.

Project description

praekelt.recipe.backup

Filesystem and database backup Buildout recipe.

Creates a bin/ script with which you can easily create backups of any path and/or database. Uses rsync to create incrementally complete backups, see: Do-It-Yourself Backup System Using Rsync.

NOTE: This recipe is under active development and has not been fully tested in a production environment. Use at your own risk.

Usage

Add a part in buildout.cfg like so:

[buildout]
parts = backup

[backup]
recipe = praekelt.recipe.backup
prefix = foobar
local_storage_path = /var/backups

Running the buildout will add a backup script with the same name as your backup part in the bin/ directory. In this case bin/backup. The resulting script will create timestamped backups of the buildout path prefixed with the string foobar locally in /var/backups.

Options

prefix

String prefixed to backup directory names. Required.

source_path

Path to recursively backup. Defaults to the buildout directory.

database_engine

Type of database to backup. Supported options: mysql or postgres.

database_name

Name of the database to backup.

database_username

Username of the database to backup.

database_password

Password of the database to backup.

local_count

Number of backups to keep locally. As new backups are created older backups are deleted. Defaults to 3.

local_storage_path

Local path in which to store backups. Make sure the user running the backup script has appropriate rights to this path. Required.

remote_host

Hostname of remote host on which to mirror local backups.

remote_storage_path

Remote path in which to store backups. Make sure the user running the backup script has appropriate rights to this path (via rsync).

Note: rsync functionality is limited to key based authentication. Make sure to setup your keys appropriately for passwordless remote authentication.

Full Example

The following example illustrates all available options:

[buildout]
parts = backup

[backup]
recipe = praekelt.recipe.backup
prefix = foobar
local_count = 2
local_storage_path = /var/backups
source_path = /var/foobar

remote_host = www.my-backup-server.com
remote_storage_path = /var/backups/foobar

database_engine = postgres
database_name = foobar_db
database_username = db_username
database_password = db_password

The resulting script will create timestamped backup folders prefixed with the string foobar locally in /var/backups. The backup will contain all the files found in /var/foobar as well as a database dump of the postgres database named foobar_db. A copy of each created backup will be sent to www.my-backup-server.com via rsync and stored in the /var/backups/foobar path. Only the latest 2 backups will be retained locally. Older backups will be deleted automatically.

Changelog

0.0.3

  1. Complete refactor to use rsync.

0.0.2

  1. Dereference symbolic links.

0.0.1

  1. Initial Release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

praekelt.recipe.backup-0.0.3.tar.gz (5.8 kB view details)

Uploaded Source

Built Distributions

praekelt.recipe.backup-0.0.3-py2.6.egg (9.7 kB view details)

Uploaded Source

praekelt.recipe.backup-0.0.3-py2.5.egg (7.5 kB view details)

Uploaded Source

File details

Details for the file praekelt.recipe.backup-0.0.3.tar.gz.

File metadata

File hashes

Hashes for praekelt.recipe.backup-0.0.3.tar.gz
Algorithm Hash digest
SHA256 9113f7003c892a78f6da183636026c0d1d2d7c0e959bedd222a633ef1216c1f8
MD5 c9c49e9ed9c3ccacfa9d220fcd19e1e7
BLAKE2b-256 3226500a7bde3fe0ad0d53fc4d4d4340aa4b445f555cc54ae5c08680d79eef84

See more details on using hashes here.

File details

Details for the file praekelt.recipe.backup-0.0.3-py2.6.egg.

File metadata

File hashes

Hashes for praekelt.recipe.backup-0.0.3-py2.6.egg
Algorithm Hash digest
SHA256 5566eaed0924ca193e7f07e01a038012b56107202c38914fc5b12375f815f2f9
MD5 fdb42097867fae879494407728e1e432
BLAKE2b-256 07c47537d7cba077164b545a095c8ff383140206078c094a9afff5fff42510f9

See more details on using hashes here.

File details

Details for the file praekelt.recipe.backup-0.0.3-py2.5.egg.

File metadata

File hashes

Hashes for praekelt.recipe.backup-0.0.3-py2.5.egg
Algorithm Hash digest
SHA256 e83f7c2636cce63bcd5d1100c17a32f9318570eb6cff133b078c33dcc48737a0
MD5 bb0c6070446cac0508f9c4724d78cc69
BLAKE2b-256 e66e9c342ac3a119b7c6077e791b09c1105468dd21cc3577ca4b387fffe1a0db

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page