All Projects → huacnlee → Gobackup

huacnlee / Gobackup

Licence: mit
🗄 Simple tool for backup your databases, files to FTP / SCP / S3 storages.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Gobackup

Kangaroo
SQL client and admin tool for popular databases
Stars: ✭ 127 (-73.09%)
Mutual labels:  mysql, redis, postgresql
Enferno
A Python framework based on Flask microframework, with batteries included, and best practices in mind.
Stars: ✭ 385 (-18.43%)
Mutual labels:  mysql, redis, postgresql
Algernon
🎩 Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support
Stars: ✭ 1,880 (+298.31%)
Mutual labels:  mysql, redis, postgresql
Shmig
Database migration tool written in BASH.
Stars: ✭ 408 (-13.56%)
Mutual labels:  mysql, postgresql, devops
Yiigo
🔥 Go 轻量级开发通用库 🚀🚀🚀
Stars: ✭ 304 (-35.59%)
Mutual labels:  mysql, redis, postgresql
Haproxy Configs
80+ HAProxy Configs for Hadoop, Big Data, NoSQL, Docker, Elasticsearch, SolrCloud, HBase, MySQL, PostgreSQL, Apache Drill, Hive, Presto, Impala, Hue, ZooKeeper, SSH, RabbitMQ, Redis, Riak, Cloudera, OpenTSDB, InfluxDB, Prometheus, Kibana, Graphite, Rancher etc.
Stars: ✭ 106 (-77.54%)
Mutual labels:  mysql, redis, postgresql
Back End Interview
后端面试题汇总(Python、Redis、MySQL、PostgreSQL、Kafka、数据结构、算法、编程、网络)
Stars: ✭ 188 (-60.17%)
Mutual labels:  mysql, redis, postgresql
Agent
The best way to backup and restore your database
Stars: ✭ 80 (-83.05%)
Mutual labels:  mysql, postgresql, backup
Devops Bash Tools
550+ DevOps Bash Scripts - AWS, GCP, Kubernetes, Kafka, Docker, APIs, Hadoop, SQL, PostgreSQL, MySQL, Hive, Impala, Travis CI, Jenkins, Concourse, GitHub, GitLab, BitBucket, Azure DevOps, TeamCity, Spotify, MP3, LDAP, Code/Build Linting, pkg mgmt for Linux, Mac, Python, Perl, Ruby, NodeJS, Golang, Advanced dotfiles: .bashrc, .vimrc, .gitconfig, .screenrc, .tmux.conf, .psqlrc ...
Stars: ✭ 226 (-52.12%)
Mutual labels:  mysql, postgresql, devops
Octosql
OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL.
Stars: ✭ 2,579 (+446.4%)
Mutual labels:  mysql, redis, postgresql
Spring Boot 2.x Examples
Spring Boot 2.x code examples
Stars: ✭ 104 (-77.97%)
Mutual labels:  mysql, redis, postgresql
Dbngin
DB Engine
Stars: ✭ 344 (-27.12%)
Mutual labels:  mysql, redis, postgresql
Docker Laravel
🐳 Docker Images for Laravel development
Stars: ✭ 101 (-78.6%)
Mutual labels:  mysql, redis, postgresql
Backup Manager
Database backup manager for dumping to and restoring databases from S3, Dropbox, FTP, SFTP, and Rackspace Cloud
Stars: ✭ 1,589 (+236.65%)
Mutual labels:  mysql, postgresql, backup
Gopherus
This tool generates gopher link for exploiting SSRF and gaining RCE in various servers
Stars: ✭ 1,258 (+166.53%)
Mutual labels:  mysql, redis, postgresql
Pifpaf
Python fixtures and daemon managing tools for functional testing
Stars: ✭ 161 (-65.89%)
Mutual labels:  mysql, redis, postgresql
Phalcon Vm
Vagrant configuration for PHP7, Phalcon 3.x and Zephir development.
Stars: ✭ 43 (-90.89%)
Mutual labels:  mysql, redis, postgresql
Aclify
🔒 Node Access Control Lists (ACL).
Stars: ✭ 49 (-89.62%)
Mutual labels:  mysql, redis, postgresql
Endb
Key-value storage for multiple databases. Supports MongoDB, MySQL, Postgres, Redis, and SQLite.
Stars: ✭ 208 (-55.93%)
Mutual labels:  mysql, redis, postgresql
Devilbox
A modern Docker LAMP stack and MEAN stack for local development
Stars: ✭ 3,598 (+662.29%)
Mutual labels:  mysql, redis, postgresql

GoBackup

Simple tool for backup your databases, files to cloud storages.

Build Status

GoBackup is a fullstack backup tool design for web servers similar with backup/backup, work with Crontab to backup automatically.

You can write a config file, run gobackup perform command by once to dump database as file, archive config files, and then package them into a single file.

It’s allow you store the backup file to local, FTP, SCP, S3 or other cloud storages.

GoBackup 是一个类似 backup/backup 的一站式备份工具,为中小型服务器/个人服务器而设计,配合 Crontab 以实现定时备份的目的。

使用 GoBackup 你可以通过一个简单的配置文件,一次(执行一个命令)将服务器上重要的(数据库、配置文件)东西导出、打包压缩,并备份到指定目的地(如:本地路径、FTP、云存储...)。

详细中文介绍: https://ruby-china.org/topics/34094

https://gobackup.github.io/

Features

  • No dependencies.
  • Multiple Databases source support.
  • Multiple Storage type support.
  • Archive paths or files into a tar.

Current Support status

Databases

  • MySQL
  • PostgreSQL
  • Redis - mode: sync/copy
  • MongoDB

Archive

Use tar command to archive many file or path into a .tar file.

Compressor

  • Tgz - .tar.gz
  • Uncompressed - .tar

Encryptor

  • OpenSSL - aes-256-cbc encrypt

Storages

Install (macOS / Linux)

$ curl -sSL https://git.io/gobackup | bash

after that, you will get /usr/local/bin/gobackup command.

$ gobackup -h
NAME:
   gobackup - Easy full stack backup operations on UNIX-like systems

USAGE:
   gobackup [global options] command [command options] [arguments...]

VERSION:
   0.1.0

COMMANDS:
     perform
     help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

Configuration

GoBackup will seek config files in:

  • ~/.gobackup/gobackup.yml
  • /etc/gobackup/gobackup.yml

Example config: gobackup_test.yml

models:
  gitlab:
    compress_with:
      type: tgz
    store_with:
      type: scp
      path: ~/backup
      host: your-host.com
      private_key: ~/.ssh/id_rsa
      username: ubuntu
      password: password
      timeout: 300
    databases:
      gitlab:
        type: mysql
        host: localhost
        port: 3306
        database: gitlab_production
        username: root
        password:
        additional_options: --single-transaction --quick
      gitlab_redis:
        type: redis
        mode: sync
        rdb_path: /var/db/redis/dump.rdb
        invoke_save: true
        password:
    archive:
      includes:
        - /home/git/.ssh/
        - /etc/mysql/my.conf
        - /etc/nginx/nginx.conf
        - /etc/nginx/conf.d
        - /etc/redis/redis.conf
        - /etc/logrotate.d/
      excludes:
        - /home/ubuntu/.ssh/known_hosts
        - /etc/logrotate.d/syslog
  gitlab_repos:
    store_with:
      type: local
      path: /data/backups/gitlab-repos/
    archive:
      includes:
        - /home/git/repositories

Usage

$ gobackup perform
2017/09/08 06:47:36 ======== ruby_china ========
2017/09/08 06:47:36 WorkDir: /tmp/gobackup/1504853256396379166
2017/09/08 06:47:36 ------------- Databases --------------
2017/09/08 06:47:36 => database | Redis: mysql
2017/09/08 06:47:36 Dump mysql dump to /tmp/gobackup/1504853256396379166/mysql/ruby-china.sql
2017/09/08 06:47:36

2017/09/08 06:47:36 => database | Redis: redis
2017/09/08 06:47:36 Copying redis dump to /tmp/gobackup/1504853256396379166/redis
2017/09/08 06:47:36
2017/09/08 06:47:36 ----------- End databases ------------

2017/09/08 06:47:36 ------------- Compressor --------------
2017/09/08 06:47:36 => Compress with Tgz...
2017/09/08 06:47:39 -> /tmp/gobackup/2017-09-08T14:47:36+08:00.tar.gz
2017/09/08 06:47:39 ----------- End Compressor ------------

2017/09/08 06:47:39 => storage | FTP
2017/09/08 06:47:39 -> Uploading...
2017/09/08 06:47:39 -> upload /ruby_china/2017-09-08T14:47:36+08:00.tar.gz
2017/09/08 06:48:04 Cleanup temp dir...
2017/09/08 06:48:04 ======= End ruby_china =======

Backup schedule

You may want run backup in scheduly, you need Crontab:

$ crontab -l
0 0 * * * /usr/local/bin/gobackup perform >> ~/.gobackup/gobackup.log

0 0 * * * means run at 0:00 AM, every day.

And after a day, you can check up the execute status by ~/.gobackup/gobackup.log.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].