Skip to content

Commit

Permalink
Merge pull request #3 from weseek/modify-readme
Browse files Browse the repository at this point in the history
Modify README.md
  • Loading branch information
skomma authored Sep 2, 2019
2 parents 0639f54 + 3a8e1eb commit ea727a2
Showing 1 changed file with 60 additions and 65 deletions.
125 changes: 60 additions & 65 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
NOW changing from mongodb-awesome-backup...

<!-- TODO: to enable integration with CircleCI
[![CircleCI](https://circleci.com/gh/weseek/mongodb-awesome-backup/tree/master.svg?style=shield)](https://circleci.com/gh/weseek/mariadb-awesome-backup/tree/master)
[![CircleCI](https://circleci.com/gh/weseek/mariadb-awesome-backup/tree/master.svg?style=shield)](https://circleci.com/gh/weseek/mariadb-awesome-backup/tree/master)
-->

What is mongodb-awesome-backup?
What is mariadb-awesome-backup?
-------------------------------

mongodb-awesome-backup is the collection of scripts which backup MongoDB databases to Amazon S3 or Google Cloud Storage.
mariadb-awesome-backup is the collection of scripts which backup MariaDB databases to Amazon S3 or Google Cloud Storage.

This software has almost the same options of [mongodb-awesome-backup](https://github.com/weseek/mongodb-awesome-backup).


Requirements
Expand All @@ -19,13 +19,13 @@ Requirements
OR

* Google Cloud Interoperable storage access keys (see https://cloud.google.com/storage/docs/migrating#keys)
* GCP_ACCESS_KEY_ID, GCP_SECRET_ACCESS_KEY, and GCP_PROJECT_ID are only required if using HMAC authentication.
* When using oauth authentication, a docker mount ` -v ~:/mab` and is the can be added to save auth0 credentials to your home directory after mongodb-awesome-backup is run. On subsequent runs, the same `~/.boto` file will be used for authentication.
* The name 'mab' was chosen as the Docker container mount point simply because it's an acronym for "`m`ongodb-`a`wesome-`b`ackup"). The /mab mount point maps to the home directory of whatever user is used to run mongodb-awesome-backup, and is where the .boto file will be saved.
* `GCP_ACCESS_KEY_ID`, `GCP_SECRET_ACCESS_KEY`, and `GCP_PROJECT_ID` are only required if using HMAC authentication.
* When using oauth authentication, a docker mount ` -v ~:/mab` and is the can be added to save auth0 credentials to your home directory after mariadb-awesome-backup is run. On subsequent runs, the same `~/.boto` file will be used for authentication.
* The name 'mab' was chosen as the Docker container mount point simply because it's an acronym for "`m`ongodb-`a`wesome-`b`ackup"). The /mab mount point maps to the home directory of whatever user is used to run mariadb-awesome-backup, and is where the .boto file will be saved.

Usage
-----
Note that either AWS_ or GCP_ vars are required not both.
Note that either `AWS_` or `GCP_` vars are required not both.

```bash
docker run --rm \
Expand All @@ -36,16 +36,16 @@ docker run --rm \
[ -e GCP_PROJECT_ID=<Your GCP Project ID> \ ]
-e TARGET_BUCKET_URL=<Target Bucket URL ([s3://...|gs://...])> \
[ -e BACKUPFILE_PREFIX=<Prefix of Backup Filename (default: "backup") \ ]
[ -e MONGODB_HOST=<Target MongoDB Host (default: "mongo")> \ ]
[ -e MONGODB_DBNAME=<Target DB name> \ ]
[ -e MONGODB_USERNAME=<DB login username> \ ]
[ -e MONGODB_PASSWORD=<DB login password> \ ]
[ -e MONGODB_AUTHDB=<Authentication DB name> \ ]
[ -e MARIADB_HOST=<Target MariaDB Host (default: "mariadb")> \ ]
[ -e MARIADB_DBNAME=<Target DB name> \ ]
[ -e MARIADB_USERNAME=<DB login username> \ ]
[ -e MARIADB_PASSWORD=<DB login password> \ ]
[ -e MYSQLDUMP_OPTS=<Options list of mysqldump> \ ]
[ -v ~:/mab \ ]
weseek/mongodb-awesome-backup
weseek/mariadb-awesome-backup
```

and after running this, `backup-YYYYMMdd.tar.bz2` will be placed on Target S3 Bucket.
And after running this, `backup-YYYYMMdd.tar.bz2` will be placed on the target S3 or GCS bucket.

### How to backup in cron mode

Expand All @@ -62,13 +62,13 @@ docker run --rm \
-e CRONMODE=true \
-e CRON_EXPRESSION=<Cron expression (ex. "CRON_EXPRESSION='0 4 * * *'" if you want to run at 4:00 every day)> \
[ -e BACKUPFILE_PREFIX=<Prefix of Backup Filename (default: "backup") \ ]
[ -e MONGODB_HOST=<Target MongoDB Host (default: "mongo")> \ ]
[ -e MONGODB_DBNAME=<Target DB name> \ ]
[ -e MONGODB_USERNAME=<DB login username> \ ]
[ -e MONGODB_PASSWORD=<DB login password> \ ]
[ -e MONGODB_AUTHDB=<Authentication DB name> \ ]
[ -e MARIADB_HOST=<Target MariaDB Host (default: "mariadb")> \ ]
[ -e MARIADB_DBNAME=<Target DB name> \ ]
[ -e MARIADB_USERNAME=<DB login username> \ ]
[ -e MARIADB_PASSWORD=<DB login password> \ ]
[ -e MYSQLDUMP_OPTS=<Options list of mysqldump> \ ]
[ -v ~:/mab \ ]
weseek/mongodb-awesome-backup
weseek/mariadb-awesome-backup
```
### How to restore
Expand All @@ -84,67 +84,62 @@ docker run --rm \
[ -e GCP_PROJECT_ID=<Your GCP Project ID> \ ]
-e TARGET_BUCKET_URL=<Target Bucket URL ([s3://...|gs://...])> \
-e TARGET_FILE=<Target S3 or GS file name to restore> \
[ -e MONGODB_HOST=<Target MongoDB Host (default: "mongo")> \ ]
[ -e MONGODB_DBNAME=<Target DB name> \ ]
[ -e MONGODB_USERNAME=<DB login username> \ ]
[ -e MONGODB_PASSWORD=<DB login password> \ ]
[ -e MONGODB_AUTHDB=<Authentication DB name> \ ]
[ -e MONGORESTORE_OPTS=<Options list of mongorestore> \ ]
[ -e MARIADB_HOST=<Target MariaDB Host (default: "mariadb")> \ ]
[ -e MARIADB_USERNAME=<DB login username> \ ]
[ -e MARIADB_PASSWORD=<DB login password> \ ]
[ -e MYSQL_OPTS=<Options list of mysql> \ ]
[ -v ~:/mab \ ]
weseek/mongodb-awesome-backup restore
weseek/mariadb-awesome-backup restore
```
Environment variables
---------
### For `backup`, `prune`, `list`
#### Required
| Variable | Description | Default |
| --------------------- | --------------------------------------------------------------------- | ------- |
| AWS_ACCESS_KEY_ID | Your IAM Access Key ID | |
| AWS_SECRET_ACCESS_KEY | Your IAM Secret Access Key | |
| TARGET_BUCKET_URL | Target Bucket URL ([s3://...\|gs://...]). **URL is needed to be end with '/'** | |
| Variable | Description |
| ----------------------- | ----------------------------------------------------------------------------------- |
| `AWS_ACCESS_KEY_ID` | Your IAM Access Key ID |
| `AWS_SECRET_ACCESS_KEY` | Your IAM Secret Access Key |
| `GCP_ACCESS_KEY_ID` | Your GCP Access Key |
| `GCP_SECRET_ACCESS_KEY` | Your GCP Secret |
| `GCP_PROJECT_ID` | Your GCP Project ID |
| `TARGET_BUCKET_URL` | Target Bucket URL ([s3://... or gs://...]).<br>**URL is needed to be end with '/'** |
#### Optional
| Variable | Description | Default |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| GCP_ACCESS_KEY_ID | Your GCP Access Key | |
| GCP_SECRET_ACCESS_KEY | Your GCP Secret | |
| GCP_PROJECT_ID | Your GCP Project ID | |
| BACKUPFILE_PREFIX | Prefix of Backup Filename | backup |
| MONGODB_HOST | Target MongoDB Host | mongo |
| MONGODB_DBNAME | Target DB name | - |
| MONGODB_USERNAME | DB login username | - |
| MONGODB_PASSWORD | DB login password | - |
| MONGODB_AUTHDB | Authentication DB name | - |
| CRONMODE | If set "true", this container is executed in cron mode. In cron mode, the script will be executed with the specified arguments and at the time specified by CRON_EXPRESSION. | "false" |
| CRON_EXPRESSION | Cron expression (ex. "CRON_EXPRESSION=0 4 * * *" if you want to run at 4:00 every day) | - |
| Variable | Description | Default |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| `BACKUPFILE_PREFIX` | Prefix of Backup Filename | `"backup"` |
| `MARIADB_HOST` | Target MariaDB Host | `"mariadb"` |
| `MARIADB_DBNAME` | Target DB name<br>If omitted, all databases will be backed up. | - |
| `MARIADB_USERNAME` | DB login username | - |
| `MARIADB_PASSWORD` | DB login password | - |
| `MYSQLDUMP_OPTS` | Options list of mysqldump | - |
| `CRONMODE` | If set `"true"`, this container is executed in cron mode.<br>In cron mode, the script will be executed with the specified arguments and at the time specified by `CRON_EXPRESSION`. | `"false"` |
| `CRON_EXPRESSION` | Cron expression (ex. `"CRON_EXPRESSION=0 4 * * *"` if you want to run at 4:00 every day) | - |
### For `restore`
#### Required
| Variable | Description | |
| --------------------- | ----------------------------------------------------------------------------------- | --- |
| AWS_ACCESS_KEY_ID | Your IAM Access Key ID | |
| AWS_SECRET_ACCESS_KEY | Your IAM Secret Access Key | |
| TARGET_BUCKET_URL | Target Bucket URL ([s3://...\|gs://...]). **URL is needed to be end with '/'** | |
| TARGET_FILE | Target S3 or GS file name to restore | |
| Variable | Description |
| ----------------------- | ------------------------------------------------------------------------------------ |
| `AWS_ACCESS_KEY_ID` | Your IAM Access Key ID |
| `AWS_SECRET_ACCESS_KEY` | Your IAM Secret Access Key |
| `GCP_ACCESS_KEY_ID` | Your GCP Access Key |
| `GCP_SECRET_ACCESS_KEY` | Your GCP Secret |
| `GCP_PROJECT_ID` | Your GCP Project ID |
| `TARGET_BUCKET_URL` | Target Bucket URL ([s3://... or gs://...]).<br>**URL is needed to be end with '/'** |
| `TARGET_FILE` | Target S3 or GS file name to restore |
#### Optional
| Variable | Description | Default |
| ----------------- | ----------------------------------------- | ------- |
| GCP_ACCESS_KEY_ID | Your GCP Access Key | |
| GCP_SECRET_ACCESS_KEY | Your GCP Secret | |
| GCP_PROJECT_ID | Your GCP Project ID | |
| MONGODB_HOST | Target MongoDB Host | mongo |
| MONGODB_DBNAME | Target DB name | - |
| MONGODB_USERNAME | DB login username | - |
| MONGODB_PASSWORD | DB login password | - |
| MONGODB_AUTHDB | Authentication DB name | - |
| MONGORESTORE_OPTS | Options list of mongorestore. (ex --drop) | - |
| Variable | Description | Default |
| ------------------ | ------------------------------- | --------- |
| `MARIADB_HOST` | Target MariaDB Host | `"mongo"` |
| `MARIADB_USERNAME` | DB login username | - |
| `MARIADB_PASSWORD` | DB login password | - |
| `MYSQL_OPTS` | Options list of mysql (ex `-v`) | - |

0 comments on commit ea727a2

Please sign in to comment.