Database backup utility
Project description
Backups
Tool to backup databases.
Installation
pip install --upgrade backups
Usage
$ backups --help
Backups mysql databases
Usage:
backups env
backups ls [--file FILE] [--verbose]
backups show JOB [--file FILE] [--verbose]
backups databases JOB [--file FILE] [--verbose]
backups run JOB [--file FILE] [--verbose] [--dryrun]
backups run JOB [DATABASE] [--file FILE] [--verbose] [--dryrun]
Commands:
env Show the current environment
ls Prints the backup job names
show Prints the configuration for a job
databases Lists all databases on a backup job server
run Runs the backup for a job
Options:
-f --file FILE The backups config file (default /etc/backups/backups.yaml)
-d --dryrun Just prints the commands but doesn't execute them
-v --verbose Adds verbosity
-h --help Prints this help
--version Prints the current version
Environment variables:
BACKUPS_FILE The backups file (default /etc/backups/backups.yaml)
BACKUPS_DUMPS_DIR The dumps directory (default /tmp/backups)
BACKUPS_MYSQLDUMP The mysqldump binary (default picked from $PATH)
BACKUPS_LOG_LEVEL Default INFO
BACKUPS_STDERR The stderr log file (default /tmp/backups.err)
Check https://github.com/ptdorf/backups#backups for more info
Setup
Create a backups.yaml file with content similar to:
backups:
jobs:
acme:
connection:
type: mysql
host: !Env ${BACKUPS_DB_HOST:acme.com}
username: !Env ${BACKUPS_DB_USERNAME:backup}
password: !Env ${BACKUPS_DB_PASSWORD}
options:
# Dumps the entire server into a single file (this is the default)
server: true
# By default it will create a single dump file for each database found
# Uncomment to only backups specific databases (one on each file)
# databases:
# - main_db
# - other_db
compress:
- type: zip
pasword: !Env ${BACKUPS_ZIP_PASSWORD}
upload:
- type: s3
bucket: acme-backups
prefix: databases
enabled: true
notify:
- type: slack
channel: "#backups"
webhook: !Env ${BACKUPS_SLACK_WEBHOOK:https://hooks.slack.com/services/x/y/z}
Notice the use of the environment variables, like BACKUPS_DB_HOST, used in
combination with the !Env yaml resolver. If they exist they get resolved to
their values. Use the format ${VAR_NAME:default_value} to use default_value
if $VAR_NAME is not defined.
Now run it with
backups run acme --file backups.yaml
You can use the BACKUPS_FILE env var instead:
export BACKUPS_FILE=backups.yaml
backups run acme
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file backups-0.3.7.tar.gz.
File metadata
- Download URL: backups-0.3.7.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eee92e4c1d7f1237e7ab65ab44d2b0f2db00c6fccda558ec4c09bafa628a584
|
|
| MD5 |
b5d033996276ff874e2c7e0eb6145ece
|
|
| BLAKE2b-256 |
b1c194eb6d098512de09c86bae2423bdc4775e091253dd1ad6fbeefa8721c6f3
|
File details
Details for the file backups-0.3.7-py2.py3-none-any.whl.
File metadata
- Download URL: backups-0.3.7-py2.py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abb7189c6960697dc34663a4aa101ded54814adbcc63248f302cda8fe5168c39
|
|
| MD5 |
5cd3ada035e3245f8307ea6fc1fb64df
|
|
| BLAKE2b-256 |
8ccd7e29869b1ee23bbd763d8667300a0c10ed7865373c9988256ff31a5eef48
|