-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgobackup_example.yml
More file actions
197 lines (169 loc) · 7.48 KB
/
gobackup_example.yml
File metadata and controls
197 lines (169 loc) · 7.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# GoBackup Configuration for Container Deployment
# This is a production-ready configuration example
# GoBackup 容器化部署配置文件
# 这是一个生产就绪的配置示例
# Web UI Configuration
# Web管理界面配置
web:
username: admin # Web界面登录用户名
password: changeme123 # Web界面登录密码(建议修改为强密码)
host: 0.0.0.0 # Web界面监听地址(0.0.0.0表示监听所有网卡)
port: 2703 # Web界面监听端口
# Global Settings
# 全局设置
log_path: /var/log/gobackup/gobackup.log # 日志文件存储路径
# Backup Models
# 备份模型配置(可以定义多个备份任务)
models:
# MySQL Database Backup with Incremental Support
# MySQL数据库备份,支持增量备份
mysql_prod:
description: "Production MySQL database with incremental backup" # 备份任务描述
# 调度配置
schedule:
enabled: true # 是否启用定时备份
cron: "0 2 * * *" # Cron表达式:每天凌晨2点执行备份
# Incremental backup configuration
# 增量备份配置
incremental:
enabled: true # 是否启用增量备份
strategy: "binlog" # 增量策略:time=时间基础,binlog=二进制日志
base_backup_days: 7 # 每7天做一次全量备份
max_incrementals: 6 # 最多保留6个增量备份
retention_days: 30 # 备份保留天数(0表示不自动清理)
compression_level: 6 # 压缩级别 (1-9,数字越大压缩率越高)
enable_deduplication: false # 是否启用去重(MySQL增量备份不建议启用)
# 数据库连接配置
databases:
mysql: # 数据库配置名称
type: mysql # 数据库类型
host: # 数据库服务器地址
port: # 数据库端口
database: # 要备份的数据库名
username: # 数据库用户名
password: # 数据库密码
# 存储配置
storages:
minio: # 存储配置名称
type: s3 # 存储类型(S3兼容存储)
bucket: # 存储桶名称
region: # 区域设置
path: # 存储路径前缀
access_key_id: # 访问密钥ID
secret_access_key: # 访问密钥
endpoint: # S3服务端点
force_path_style: true # 强制使用路径样式(MinIO需要)
storage_class: STANDARD # 存储类别
timeout: 1800 # 30分钟超时,适合大文件上传
max_retries: 5 # 增加重试次数
# 压缩配置
compressor:
type: tgz # 压缩格式:tgz=tar.gz
# 示例:文件备份(增量)
# File backup example with incremental support
files_backup:
description: "文件增量备份示例" # 任务描述
# 调度配置
schedule:
cron: "0 2 * * *" # 每天凌晨2点执行备份
# 增量备份配置
incremental:
enabled: true # 启用增量备份
strategy: "time" # 使用时间策略(基于文件修改时间)
base_backup_days: 7 # 每7天做一次全量备份
max_incrementals: 6 # 最多保留6个增量备份
retention_days: 30 # 备份保留30天
compression_level: 6 # 压缩级别
enable_deduplication: true # 启用去重(文件备份推荐启用)
# 压缩配置
compress_with:
type: tgz # 压缩格式
# 文件归档配置
archive:
includes: # 要备份的目录/文件列表
- /data/
excludes: # 要排除的目录/文件列表
- /data/tmp/ # 排除临时目录
- /data/cache/ # 排除缓存目录
- "*.log" # 排除日志文件
# 存储配置
storages:
local: # 本地存储配置
type: local # 存储类型:本地文件系统
path: /backups/files/ # 本地存储路径
keep: 10 # 保留最近10个备份文件
# 示例:MongoDB 备份(增量)
# MongoDB backup example with incremental support
mongodb_backup:
description: "MongoDB Oplog 增量备份" # 任务描述
# 增量备份配置
incremental:
enabled: true # 启用增量备份
strategy: "oplog" # 使用oplog策略(MongoDB操作日志)
base_backup_days: 7 # 全量备份间隔天数
max_incrementals: 6 # 最大增量备份数(7天周期中的6个增量)
retention_days: 30 # 备份保留天数
compression_level: 6 # 压缩级别
enable_deduplication: false # MongoDB oplog备份不需要去重
# 调度配置
schedule:
enabled: true # 启用定时备份
cron: "0 2 * * *" # 每天凌晨2点执行
# 数据库连接配置
databases:
mongodb_main: # MongoDB配置名称
type: mongodb # 数据库类型
# 连接配置 - 支持远程连接
host: "" # MongoDB服务器地址
port: "" # MongoDB端口
#database: "增量需要备份所有库" # 数据库名(注释掉表示备份所有数据库)
username: "" # 用户名
password: "" # 密码
authdb: "admin" # 认证数据库
# 注意:不使用 oplog,因为不是副本集
oplog: true # 启用 oplog 备份
# mongodump额外参数
args: "--gzip --numParallelCollections=4" # 启用gzip压缩,4个并行集合
# 存储配置
storages:
minio: # MinIO存储配置
type: s3 # S3兼容存储
bucket: # 存储桶名称
region: # 区域
path: # 存储路径前缀
access_key_id: # 访问密钥ID
secret_access_key: # 访问密钥
endpoint: # MinIO服务端点
force_path_style: true # 强制路径样式
storage_class: STANDARD # 存储类别
timeout: 1800 # 30分钟超时
max_retries: 5 # 增加重试次数
# 压缩配置
compressor:
type: tgz # 使用tar.gz压缩格式
K8Sdevetcd:
description: "Kubernetes etcd backup"
databases:
k8sdevetcd:
type: etcd
endpoint: masterIP:2379
args: "--cacert=/root/.gobackup/etcdcert/ca.crt --cert=/root/.gobackup/etcdcert/server.crt --key=/root/.gobackup/etcdcert/server.key"
storages:
minio:
type: s3
bucket:
region:
path:
access_key_id:
secret_access_key:
endpoint:
force_path_style: true
storage_class: STANDARD
keep: 2
timeout: 1800 # 30分钟超时
max_retries: 5 # 增加重试次数
schedule:
enabled: true
cron: "0 2 * * *" # 定时任务
compress_with:
type: tgz