Skip to content

Commit 8928f4a

Browse files
committed
feat(数据库备份): 增加备份仓库
1 parent 062f491 commit 8928f4a

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

mysql-backup/compose.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
services:
2+
mysql8:
3+
image: mysql:8.4
4+
# 国内拦了 用加速站
5+
#image: docker.m.daocloud.io/mysql:8.4
6+
container_name: mysql8
7+
restart: always
8+
ports:
9+
- ${MYSQL_PORT:-3306}:3306
10+
configs:
11+
- source: mysql8.conf
12+
target: /etc/mysql/conf.d
13+
- source: mysql8.initdb
14+
target: /docker-entrypoint-initdb.d
15+
volumes:
16+
- "${DATA_DIR:-/data}/mysql8/data:/var/lib/mysql"
17+
- "${DATA_DIR:-/data}/mysql8/logs:/var/log/mysql"
18+
- "${DATA_DIR:-/data}/mysql8/backup/database:/mysql/backup/database"
19+
- "${DATA_DIR:-/data}/mysql8/backup/log:/mysql/backup/log"
20+
environment:
21+
# 设置密码
22+
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD:?required}
23+
logging:
24+
driver: "json-file"
25+
options:
26+
# 限制日志文件大小
27+
max-size: "100m"
28+
mysql-cron-backup:
29+
image: fradelg/mysql-cron-backup
30+
container_name: backup-cbus
31+
depends_on:
32+
- mysql8
33+
volumes:
34+
- "${DATA_DIR:-/data}/mysql8/backup:/backup"
35+
environment:
36+
- MYSQL_HOST=mysql8
37+
- MYSQL_PORT={MYSQL_PORT:-3306}
38+
- MYSQL_USER=root
39+
- MYSQL_PASS=${MYSQL_PASSWORD:?required}
40+
- MAX_BACKUPS=15
41+
# 是否在容器启动时立即执行一次备份:1 表示立即备份,0 表示等到下一个定时点再执行。
42+
- INIT_BACKUP=0
43+
# 每天凌晨 3 点执行一次备份。cron 表达式格式:分 时 日 月 星期
44+
- CRON_TIME=0 3 * * *
45+
# gzip 压缩等级(1–9),9 表示压缩最小、CPU 占用最高。
46+
- GZIP_LEVEL=9
47+
# 指定数据库
48+
- DATABASES=cbus
49+
# As of MySQL 8.0.21 this is needed
50+
# 忽略表(多个以空格分隔)
51+
- MYSQLDUMP_OPTS=--no-tablespaces \
52+
--single-transaction \
53+
--ignore-table=cbus.log_event \
54+
--ignore-table=cbus.log_attendance \
55+
--ignore-table=cbus.log_dispatch \
56+
--ignore-table=cbus.log_dsp \
57+
--ignore-table=cbus.log_login \
58+
--ignore-table=cbus.log_message \
59+
--ignore-table=cbus.log_station \
60+
--ignore-table=cbus.log_system \
61+
--ignore-table=cbus.log_web_socket \
62+
--ignore-table=cbus.service_on_time \
63+
--ignore-table=cbus.service_over_speed \
64+
--ignore-table=cbus.schedule_plan_table \
65+
--ignore-table=cbus.device_position \
66+
--ignore-table=cbus.device_depart_arrive
67+
restart: unless-stopped

0 commit comments

Comments
 (0)