在 docker 中运行的数据库备份工具 backup-db

MIT
Google Go
跨平台
2020-03-10
杰仪

拥抱开源,微软做了哪些努力?一大波开源技术成果将亮相微软在线技术峰会>>>

数据库备份工具

原理:在原生的docker镜像基础上,加入一备份工具,增强备份功能。

提供postgres, mysql5镜像,可直接使用,如有需要请提issues。

  •  可以自行构建docker镜像,支持不同的数据库及不同的版本,如mysql8, oracle, sqlserver2017+等等
  •  支持自定义命令
  •  可以把备份后的文件存入另一台服务器
  •  备份失败邮件通知
  •  每日凌晨自动备份
  • 可设置备份文件最大保存天数(最少3天)
  • 参考tls实现加密传输备份文件到服务端,rsa非对称交换密钥 + aes-256-gcm对称加密(每次随机密码+固定验证密码)

docker 环境变量说明

backup_server_ip 不填默认为二次备份的服务器
backup_server_port 二次备份服务器的端口
server_secret_key 服务端验证密码
backup_project_name 项目名称,一般就是数据库名称。
backup_command 备份命令,必须包含#{DATE}
max_save_days 备份文件最大保存天数
notice_email 异常通知的邮箱

server

docker run -d \
--name backup-server \
--restart=always \
-p 9977:9977 \
-v /opt/backup-files:/app/backup-files \
-e backup_server_port=9977 \
-e server_secret_key=please_change_it \
-e max_save_days=30 \
-e notice_email=277172506@qq.com \
-e smtp_host=smtp.office365.com \
-e smtp_port=587 \
-e smtp_username=backup-db-docker@outlook.com \
-e smtp_password=kLhHbTC6Ak5B2hw \
jeessy/backup-db:0.0.5

client(postgres)

docker run -d \
--name backup-db-name \
--restart=always \
-v /opt/backup-files:/app/backup-files \
-e backup_server_ip=192.168.1.76 \
-e backup_server_port=9977 \
-e server_secret_key=please_change_it \
-e backup_project_name=db-name \
-e backup_command="pg_dump -a \"host=192.168.1.11 port=5433 user=postgres password=password dbname=db-name\" > #{DATE}.sql" \
-e max_save_days=30 \
-e notice_email=277172506@qq.com \
-e smtp_host=smtp.office365.com \
-e smtp_port=587 \
-e smtp_username=backup-db-docker@outlook.com \
-e smtp_password=kLhHbTC6Ak5B2hw \
jeessy/backup-db:postgres-0.0.5

client(mysql)

docker run -d \
--name backup-db-name \
--restart=always \
-v /opt/backup-files:/app/backup-files \
-e backup_server_ip=192.168.1.76 \
-e backup_server_port=9977 \
-e server_secret_key=please_change_it \
-e backup_project_name=db-name \
-e backup_command="mysqldump -h192.168.1.9 -uroot -p123456 db-name > #{DATE}.sql" \
-e max_save_days=30 \
-e notice_email=277172506@qq.com \
-e smtp_host=smtp.office365.com \
-e smtp_port=587 \
-e smtp_username=backup-db-docker@outlook.com \
-e smtp_password=kLhHbTC6Ak5B2hw \
jeessy/backup-db:mysql5-0.0.5

build docker images (You may not need to build docker images, if you use postgres)

# first git clone
# change Dockerfile
# build docker images
docker build . -f Dockerfile_mysql -t jeessy/backup-db:mysql5-0.0.5
docker build . -f Dockerfile_postgres -t jeessy/backup-db:postgres-0.0.5
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

backup-db 0.0.5 发布,在 Docker 中运行的数据库备份工具

原理:在原生的docker镜像基础上,加入一备份工具,增强备份功能。 提供postgres, mysql5镜像,可直接使用,如有需要请提issues。 本次更改: 修复客户端读取大文件,内存占用过大问题 修复客...

03/20 10:50

backup-db 0.0.4 发布,在 Docker 中运行的数据库备份工具

原理:在原生的docker镜像基础上,加入一备份工具,增强备份功能。 提供postgres, mysql5镜像,可直接使用,如有需要请提issues。 本次更改: 参考tls实现加密传输备份文件到服务端,rsa非对...

03/17 11:38

backup-db 0.0.2 发布,在 Docker 中运行的数据库备份工具

原理:在原生的docker镜像基础上,加入一备份工具,增强备份功能。 提供postgres, mysql5镜像,可直接使用,如有需要请提issues。 本次更改: 增加mysql5镜像 增加#{DATE}变量,以支持更多的...

03/11 12:50

backup-db 0.0.1 发布,在 docker 中运行的数据库备份工具

原理:在原生的 docker 镜像基础上,加入一备份工具,增强备份功能。 现有功能: 支持的数据库需有 docker 镜像。如 postgres, mysql 支持自定义命令 可以把备份后的文件存入另一台服务器 备...

03/09 14:48

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

DB2 V10.5 PureScale支持HADR

# DB2 V10.5 PureScale支持HADR PureScale是DB2 V9.8引入的share disk的集群解决方案。而HADR则是DB2的V8版本就已经存在的灾备解决方案。 在v10.5之前, PureScale不支持HADR。但是从10.5开始...

2016/08/18 16:47
67
0
centos mysql自动备份脚本

在/home路径下建立google文件夹,在google文件夹下建立db_backup(存放压缩文件)和db_mysql(存放sql脚本),并对文件夹授权: chmod 755 db_backup chmod 755 db_mysql 然后在google文件夹...

2016/05/20 17:51
236
2
几个脚本

1. Tomcat 进程监控脚本 2. MySQL 数据库备份脚本

2016/08/23 11:03
350
0
定时备份代码和数据库ConteOS

编写脚本 #!/bin/bash name="www" #你代码文件夹的名称 backup_dir="/alidata/$name" #备份路径,看个人喜好,自己命名 time="$(date +"%Y%m%d%H%M%S")" #每天备份时间戳 #cd /alidata/www #...

2018/07/03 16:16
19
0
使用 Shell 备份远程服务器上的 MySQL 数据库到本机

适用场景:远程服务器上的 MySQL 不允许远程访问,此时我们需要先登录服务器,备份数据库后,将备份文件拉取到本机。 源码 mysqlDumpRemote2Local.sh #!/bin/bash #########################...

2018/11/13 14:23
86
0
使用百度网盘备份VPS

使用百度网盘备份VPS

2016/11/01 16:29
166
0
数据库备份及迁移

1、备份数据库 /usr/bin/mysqldump tssj | gzip --fast > /home/backup/db/tssj.gz 2、传输数据 scp /home/backup/db/tssj.gz root@192.168.1.20:/data/backup 3、数据库恢复 cat /data/back...

2016/12/07 14:52
36
0
MySQL数据库开发之分表分库备份及批量恢复操作

脚本实现 #!/bin/bash for db_name in `mysql -e "show databases;"|sed 1d` do mkdir -p /backup/$db_name for table_name in `mysql -e "show tables from $db_name"|sed 1d` do /applicat...

2018/06/25 15:10
14
0
windows下Mysql主从数据库设置(亲测可用)

本配置方法适用于5.1之后的版本,个人在5.6上配置成功(5.1之前版本请参考另外的配置说明) 环境说明: Master:192.168.1.7 Slave:192.168.1.6 MySQL 的 Master 配置: 在mysql数据库中建立...

2015/07/24 14:34
491
0
mysql在线备份恢复--Xtrabackup

Xtrabackup Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。 Xtrabackup介绍 Xtrabackup有两个主要...

2012/03/14 14:09
1.7K
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部