1- # ` fixbackup ` - FIX Database Backup System
1+ # ` fixbackup ` - Fix Database Backup and Restore System
2+
3+ A wrapper tool packaged as a container, that runs as a job, creates and restores backups of various databases, and uploads them to an S3 bucket.
4+
5+ ## Docker
6+
7+ ```
8+ docker run --it --rm -v /path/to/backups:/backups someengineering/fixbackup --type daily ...
9+ ```
210
311## Usage
412
513``` bash
6- usage: fixbackup [-h] [--backup-directory BACKUP_DIRECTORY] [--verbose | --trace | --quiet] [--s3-bucket S3_BUCKET] --type {daily,weekly,monthly,yearly}
7- [--set-lifecycle-policy] [--redis-host REDIS_HOST] [--redis-port REDIS_PORT] [--redis-username REDIS_USERNAME]
8- [--redis-password REDIS_PASSWORD] [--redis-database-number REDIS_DATABASE_NUMBER] [--redis-cli-args REDIS_CLI_ARGS]
9- [--mysql-host MYSQL_HOST] [--mysql-port MYSQL_PORT] [--mysql-user MYSQL_USER] [--mysql-password MYSQL_PASSWORD]
10- [--mysqldump-args MYSQLDUMP_ARGS] [--arangodb-host ARANGODB_HOST] [--arangodb-port ARANGODB_PORT] [--arangodb-username ARANGODB_USERNAME]
11- [--arangodb-password ARANGODB_PASSWORD] [--arangodb-database ARANGODB_DATABASE] [--arangodump-args ARANGODUMP_ARGS]
14+ usage: fixbackup [-h] [--backup-directory BACKUP_DIRECTORY] [-n ENVIRONMENT] [--sleep] [--restore] [--verbose | --trace | --quiet] [--s3-bucket S3_BUCKET] --type {daily,weekly,monthly,yearly} [--set-lifecycle-policy] [--redis-host REDIS_HOST]
15+ [--redis-port REDIS_PORT] [--redis-username REDIS_USERNAME] [--redis-password REDIS_PASSWORD] [--redis-database-number REDIS_DATABASE_NUMBER] [--redis-cli-args REDIS_CLI_ARGS] [--redis-tls] [--redis-tls-insecure] [--mysql-host MYSQL_HOST]
16+ [--mysql-port MYSQL_PORT] [--mysql-user MYSQL_USER] [--mysql-password MYSQL_PASSWORD] [--mysql-database MYSQL_DATABASE] [--mysqldump-args MYSQLDUMP_ARGS] [--pg-host PG_HOST] [--pg-port PG_PORT] [--pg-user PG_USER] [--pg-password PG_PASSWORD]
17+ [--pg-database PG_DATABASE] [--pg-dump-args PG_DUMP_ARGS] [--arangodb-host ARANGODB_HOST] [--arangodb-port ARANGODB_PORT] [--arangodb-username ARANGODB_USERNAME] [--arangodb-password ARANGODB_PASSWORD] [--arangodb-database ARANGODB_DATABASE]
18+ [--arangodump-args ARANGODUMP_ARGS] [--arangodb-tls]
1219
13- FIX Database Backup System
20+ Fix Database Backup and Restore System
1421
1522options:
1623 -h, --help show this help message and exit
1724 --backup-directory BACKUP_DIRECTORY
1825 Directory where backups are created
26+ -n ENVIRONMENT, --name ENVIRONMENT
27+ Name of the environment
28+ --sleep Don' t do anything, just sleep forever
29+ --restore Restore databases from directory
1930 --verbose, -v Verbose logging
2031 --trace Trage logging
2132 --quiet Only log errors
@@ -37,6 +48,8 @@ options:
3748 Redis database number
3849 --redis-cli-args REDIS_CLI_ARGS
3950 Extra arguments to pass to redis-cli
51+ --redis-tls Redis uses TLS
52+ --redis-tls-insecure Redis uses TLS without verifying the certificate
4053 --mysql-host MYSQL_HOST
4154 MySQL host
4255 --mysql-port MYSQL_PORT
@@ -45,8 +58,19 @@ options:
4558 MySQL user
4659 --mysql-password MYSQL_PASSWORD
4760 MySQL password
61+ --mysql-database MYSQL_DATABASE
62+ MySQL database
4863 --mysqldump-args MYSQLDUMP_ARGS
4964 Extra arguments to pass to mysqldump
65+ --pg-host PG_HOST PostgreSQL host
66+ --pg-port PG_PORT PostgreSQL port
67+ --pg-user PG_USER PostgreSQL user
68+ --pg-password PG_PASSWORD
69+ PostgreSQL password
70+ --pg-database PG_DATABASE
71+ PostgreSQL database
72+ --pg-dump-args PG_DUMP_ARGS
73+ Extra arguments to pass to pg_dump
5074 --arangodb-host ARANGODB_HOST
5175 ArangoDB host
5276 --arangodb-port ARANGODB_PORT
@@ -59,4 +83,5 @@ options:
5983 ArangoDB database to dump
6084 --arangodump-args ARANGODUMP_ARGS
6185 Extra arguments to pass to arangodump
86+ --arangodb-tls ArangoDB uses TLS
6287```
0 commit comments