diff --git a/examples/bus-http/compose.yaml b/examples/bus-http/compose.yaml index b066f0a..dbc3d91 100644 --- a/examples/bus-http/compose.yaml +++ b/examples/bus-http/compose.yaml @@ -1,6 +1,7 @@ # Bus单机部署, 使用http include: - ../docker/mysql8/compose.yml + - ../docker/mysql-backup/compose.cbus.yml - ../docker/rabbitmq/compose.yml - ../docker/redis/compose.yml - ../docker/bus/compose.yml diff --git a/examples/bus-https/compose.yaml b/examples/bus-https/compose.yaml index d05b2a8..82d02b3 100644 --- a/examples/bus-https/compose.yaml +++ b/examples/bus-https/compose.yaml @@ -2,6 +2,7 @@ # 密码/端口/域名等信息在.env文件中配置 include: - ../docker/mysql8/compose.yml + - ../docker/mysql-backup/compose.cbus.yml - ../docker/rabbitmq/compose.yml - ../docker/redis/compose.yml - ../docker/bus/compose.yml diff --git a/mysql-backup/compose.cbus.yml b/mysql-backup/compose.cbus.yml new file mode 100644 index 0000000..14ff942 --- /dev/null +++ b/mysql-backup/compose.cbus.yml @@ -0,0 +1,39 @@ +services: + mysql-cron-backup-cbus: + image: fradelg/mysql-cron-backup + container_name: mysql-cron-backup-cbus + volumes: + - "${DATA_DIR:-/data}/mysql8/backup:/backup" + environment: + - MYSQL_HOST=${MYSQL_HOST:-mysql8} + - MYSQL_PORT={MYSQL_PORT:-3306} + - MYSQL_USER=${MYSQL_USERNAME:-root} + - MYSQL_PASS=${MYSQL_PASSWORD:?required} + - MAX_BACKUPS=15 + # 是否在容器启动时立即执行一次备份:1 表示立即备份,0 表示等到下一个定时点再执行。 + - INIT_BACKUP=0 + # 每天凌晨 3 点执行一次备份。cron 表达式格式:分 时 日 月 星期 + - CRON_TIME=0 3 * * * + # gzip 压缩等级(1–9),9 表示压缩最小、CPU 占用最高。 + - GZIP_LEVEL=9 + # 指定数据库 + - MYSQL_DATABASE=cbus + # 忽略表(多个以空格分隔) + - | + MYSQLDUMP_OPTS=--no-tablespaces --single-transaction + --ignore-table=cbus.log_attendance + --ignore-table=cbus.log_dispatch + --ignore-table=cbus.log_dsp + --ignore-table=cbus.log_event + --ignore-table=cbus.log_login + --ignore-table=cbus.log_message + --ignore-table=cbus.log_plan_change + --ignore-table=cbus.log_station + --ignore-table=cbus.log_system + --ignore-table=cbus.log_web_socket + --ignore-table=cbus.service_on_time + --ignore-table=cbus.service_over_speed + --ignore-table=cbus.schedule_plan_table + --ignore-table=cbus.device_position + --ignore-table=cbus.device_depart_arrive + restart: unless-stopped \ No newline at end of file diff --git a/mysql-backup/compose.maintain.yml b/mysql-backup/compose.maintain.yml new file mode 100644 index 0000000..b02366f --- /dev/null +++ b/mysql-backup/compose.maintain.yml @@ -0,0 +1,55 @@ +services: + mysql-cron-backup-maintain: + image: fradelg/mysql-cron-backup + container_name: mysql-cron-backup-maintain + volumes: + - "${DATA_DIR:-/data}/mysql8/backup:/backup" + environment: + - MYSQL_HOST=${MYSQL_HOST:-mysql8} + - MYSQL_PORT={MYSQL_PORT:-3306} + - MYSQL_USER=${MYSQL_USERNAME:-root} + - MYSQL_PASS=${MYSQL_PASSWORD:?required} + - MAX_BACKUPS=15 + # 是否在容器启动时立即执行一次备份:1 表示立即备份,0 表示等到下一个定时点再执行。 + - INIT_BACKUP=0 + # 每天凌晨 3 点执行一次备份。cron 表达式格式:分 时 日 月 星期 + - CRON_TIME=0 3 * * * + # gzip 压缩等级(1–9),9 表示压缩最小、CPU 占用最高。 + - GZIP_LEVEL=9 + # 指定数据库 + - MYSQL_DATABASE=maintain + # 忽略表(多个以空格分隔) + - | + MYSQLDUMP_OPTS=--no-tablespaces --single-transaction + --ignore-table=maintain.jtt808_alarm + --ignore-table=maintain.jtt808_alarm_count + --ignore-table=maintain.jtt808_alarm_file + --ignore-table=maintain.jtt808_alarm_safety + --ignore-table=maintain.jtt808_card + --ignore-table=maintain.jtt808_cmd + --ignore-table=maintain.jtt808_cmd_face + --ignore-table=maintain.jtt808_connect + --ignore-table=maintain.jtt808_face + --ignore-table=maintain.jtt808_fence + --ignore-table=maintain.jtt808_file_upload + --ignore-table=maintain.jtt808_health + --ignore-table=maintain.jtt808_io + --ignore-table=maintain.jtt808_media_file + --ignore-table=maintain.jtt808_media_photograph + --ignore-table=maintain.jtt808_obd + --ignore-table=maintain.jtt808_passenger + --ignore-table=maintain.jtt808_position + --ignore-table=maintain.jtt808_position_history + --ignore-table=maintain.jtt808_position_last + --ignore-table=maintain.jtt808_position_migrate_task + --ignore-table=maintain.jtt808_register + --ignore-table=maintain.jtt808_tpms + --ignore-table=maintain.jtt808_video_storage + --ignore-table=maintain.log_error + --ignore-table=maintain.log_geocoder + --ignore-table=maintain.log_login + --ignore-table=maintain.log_mail + --ignore-table=maintain.log_message + --ignore-table=maintain.log_system + --ignore-table=maintain.log_text + restart: unless-stopped \ No newline at end of file diff --git a/mysql8/compose.yml b/mysql8/compose.yml index 13e061d..f670fda 100644 --- a/mysql8/compose.yml +++ b/mysql8/compose.yml @@ -15,8 +15,6 @@ services: volumes: - "${DATA_DIR:-/data}/mysql8/data:/var/lib/mysql" - "${DATA_DIR:-/data}/mysql8/logs:/var/log/mysql" - - "${DATA_DIR:-/data}/mysql8/backup/database:/mysql/backup/database" - - "${DATA_DIR:-/data}/mysql8/backup/log:/mysql/backup/log" environment: # 设置密码 - MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD:?required}