https://github.com/linkorb/snapshot
snapshots for your mysql databases
https://github.com/linkorb/snapshot
Last synced: 11 months ago
JSON representation
snapshots for your mysql databases
- Host: GitHub
- URL: https://github.com/linkorb/snapshot
- Owner: linkorb
- License: mit
- Created: 2016-10-02T16:27:41.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-12-21T23:18:19.000Z (over 2 years ago)
- Last Synced: 2025-07-16T20:19:15.296Z (11 months ago)
- Language: PHP
- Size: 57.6 KB
- Stars: 3
- Watchers: 4
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Snapshot
========
Mysql snapshot utility
## Features
* Backup single database, or all databases on a server, to Amazon S3
* Compressesion
* Encryption (GPG)
* Supports multiple servers in single config
* Supports multiple storage backends in single config
* Simple database restore
* Lists remote snapshots with wildcards
## Configuration
Snapshot is configured using a `snapshot.yml` file.
The file will be automatically loaded from the current working directory, or from `/etc/snapshot.yml`.
You can also pass `--config` or `-c` to specify the exact config filename you wish to use.
To get you started, simply run:
cp snapshot.yml.dist snapshot.yml
and edit `snapshot.yml` to fit your environment
### Example snapshot.yml
In the following config you'll find 2 configured database servers (`server-a` and `server-b`), and one storage backend (`store1`):
```yml
workdir: /snapshot
servers:
server-a:
username: root
password: super_secret_password
address: 10.0.0.100
port: 3306
server-b:
username: root
password: mega_secret_password
address: 10.0.0.101
port: 3306
storage:
store1:
type: s3
region: eu-west-1
access_key: HELLO
secret_key: SHHHHHHH
bucket: my_bucket_name
prefix: "snapshot/"
gpg_password: s3cr3t
```
## Usage examples:
### Backing up a whole server:
The following command will backup all databases on `server-a` to `store1`.
bin/snapshot server:backup server-a store1
### Backing up a single database:
The following command will backup database `my_db` on `server-a` to `store1`.
bin/snapshot database:backup server-a my_db store1
### List remote snapshots
The following command will list all snapshots in `store1`.
bin/snapshot snapshot:list store1
The following command will list all snapshots in `store1` matching a filter.
bin/snapshot snapshot:list store1 snapshot-a/*/my_db
## Restoring backups
The following command will restore a backup of snapshot `server-a/20160101/my_db` from `store1` onto `server-b`:
bin/snapshot snapshot:restore store1 server-b server-a/20160101/my_db
## License
MIT. Please refer to the [license file](LICENSE.md) for details.
## Brought to you by the LinkORB Engineering team

Check out our other projects at [linkorb.com/engineering](http://www.linkorb.com/engineering).
Btw, we're hiring!