https://github.com/gsass1/rika
💾 Simple but powerful declarative backups.
https://github.com/gsass1/rika
backup backup-utility cli cli-app golang-application
Last synced: 10 months ago
JSON representation
💾 Simple but powerful declarative backups.
- Host: GitHub
- URL: https://github.com/gsass1/rika
- Owner: gsass1
- License: mit
- Created: 2019-11-14T14:53:00.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-02-06T17:29:10.000Z (over 5 years ago)
- Last Synced: 2025-05-11T09:36:49.979Z (about 1 year ago)
- Topics: backup, backup-utility, cli, cli-app, golang-application
- Language: Go
- Homepage:
- Size: 80.1 KB
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rika
[](https://travis-ci.org/Nuke928/rika)
Simple but powerful declarative backups.
Rika allows you to define all of your data providers (databases and volumes) and storage providers (SFTP servers, local directories, etc.) conveniently in one file.
## Example
Locally we have a MySQL Database and one volume, and we want to back these up on a SFTP server.
```yaml
version: 1
backup:
name: Site Backup
dataProviders:
databases:
- name: MySQL
mysql:
host: localhost
port: 3306
user: test
password: test
database: test
compression:
cmd: gzip
ext: gz
volumes:
- name: WordPress Uploads
path: /var/www/blog/uploads
storageProviders:
- name: Hetzner Storage Box
sftp:
user: u215873
host: u215873.your-storagebox.de
path: wordpress
port: 23
```
Run with `rika run backup.yaml`
As a result the following two artifacts are generated and stored on the SFTP server.
* wordpress-uploads-yyyymmddHHMMSS.tar.xz
* wordpress-database-yyyymmddHHMMSS.sql.gz
## Using Docker
If you're running your database inside a Docker container, there's a way for Rika to run dump commands inside the container as well:
```yaml
databases:
- name: MySQL
docker:
container: test-mysql
mysql:
host: localhost
port: 3306
user: test
password: test
database: test
```
## Supported data providers
* MySQL
* PostgreSQL
More coming soon!
## Supported storage providers
* Local
* SFTP
## Compression
The `compression` key allows you to tune compression.
```yaml
compression:
cmd: bzip2
args: -9
```