gopli

DB replication tool to synchronize data with multi environments written in Golang.

Github星跟踪图

gopli

Database backup between remote hosts (or local) written in Golang.

Feature

  • High-speed parallel data fetching with goroutine concurrency
  • Reuse options of connection with TOML configuration
  • Gopli will release you from an annoying replication setting

TODO

  • Currently MySQL only. so adopt to other management systems
  • Data mask for password, credit-card number, etc...
  • Response packet regulation and compression for fetched data

Install

go get github.com/timakin/gopli

Usage

Write down setting file in toml.

[database]
  [database.local]
  host = "localhost"
  management_system = "mysql"
  name = "app_development"
  user = "root"
  password = ""

  [database.staging]
  host = "xxx.xxx.xxx.xxx"
  management_system = "mysql"
  name = "app_staging"
  user = "root"
  password = ""

  [database.production]
  host = "yyy.yyy.yyy.yyy"
  management_system = "mysql"
  name = "app_production"
  user = "root"
  password = ""

[ssh]
  [ssh.local]
  host = "localhost" # or "127.0.0.1"

  [ssh.staging]
  host = "xxx.xxx.xxx.xxx"
  port = "22"
  user = "timakin"
  key = "~/.ssh/id_rsa_staging"

  [ssh.production]
  host = "yyy.yyy.yyy.yyy"
  port = "22"
  user = "remoteuser"
  key = "~/.ssh/id_rsa_prod"

gopli sync -from production -to staging -c config/gopli.toml

主要指标

概览
名称与所有者timakin/gopli
主编程语言Go
编程语言Go (语言数: 1)
平台
许可证
所有者活动
创建于2016-09-01 23:43:21
推送于2017-01-15 13:08:35
最后一次提交2017-01-15 22:08:29
发布数0
用户参与
星数345
关注者数16
派生数19
提交数73
已启用问题?
问题数8
打开的问题数7
拉请求数0
打开的拉请求数0
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?