今天的主题是使用docker,备份MySQL数据库。使用docker-compose,可以同时备份多台数据库。脚本目录结构如下:
backup # 数据库备份sql存放目录
cmd # 定时备份执行脚本
backup.sh
crontab.bak
start.sh
cron # 定时备份docker镜像生成所需文件
Dockerfile
ssmtp.conf
docker-compose.yml
server-test1 # 备份数据库1
config/slave.cnf
server-test2 # 备份数据库1
config/slave.cnf
1. 定时任务镜像
Dockerfile
FROM daocloud.io/library/ubuntu:16.04
MAINTAINER test
RUN apt-get update && apt-get install -y cron vim mysql-client ssmtp
COPY ssmtp.conf /etc/ssmtp/ssmtp.conf
ENTRYPOINT ["/cmd/start.sh"]
ssmtp.conf
邮件发送程序ssmtp配置文件
root=xxxxxxxxx
mailhub=smtp.exmail.qq.com:587
rewriteDomain=xxxxx
AuthUser=xxxxx
AuthPass=xxxxx
FromLineOverride=YES
UseTLS=