feat: 实现数据库备份与恢复

This commit is contained in:
kanzihuang
2023-12-27 22:59:20 +08:00
committed by wanli
parent 1a7d425f60
commit e344722794
92 changed files with 5997 additions and 69 deletions

View File

@@ -55,6 +55,7 @@ type Config struct {
Sqlite Sqlite `yaml:"sqlite"`
Redis Redis `yaml:"redis"`
Log Log `yaml:"log"`
Db Db `yaml:"db"`
}
func (c *Config) IfBlankDefaultValue() {
@@ -72,6 +73,7 @@ func (c *Config) IfBlankDefaultValue() {
c.Jwt.Default()
c.Mysql.Default()
c.Sqlite.Default()
c.Db.Default()
}
// 配置文件内容校验

13
server/pkg/config/db.go Normal file
View File

@@ -0,0 +1,13 @@
package config
type Db struct {
BackupPath string `yaml:"backup-path"`
MysqlUtil MysqlUtil `yaml:"mysqlutil-path"`
MariadbUtil MysqlUtil `yaml:"mariadbutil-path"`
}
type MysqlUtil struct {
Mysql string `yaml:"mysql"`
MysqlDump string `yaml:"mysqldump"`
MysqlBinlog string `yaml:"mysqlbinlog"`
}

View File

@@ -0,0 +1,28 @@
package config
func (db *Db) Default() {
if len(db.BackupPath) == 0 {
db.BackupPath = "./backup"
}
if len(db.MysqlUtil.Mysql) == 0 {
db.MysqlUtil.Mysql = "./mysqlutil/bin/mysql"
}
if len(db.MysqlUtil.MysqlDump) == 0 {
db.MysqlUtil.MysqlDump = "./mysqlutil/bin/mysqldump"
}
if len(db.MysqlUtil.Mysql) == 0 {
db.MysqlUtil.MysqlBinlog = "./mysqlutil/bin/mysqlbinlog"
}
if len(db.MariadbUtil.Mysql) == 0 {
db.MariadbUtil.Mysql = "./mariadbutil/bin/mariadb"
}
if len(db.MariadbUtil.MysqlDump) == 0 {
db.MariadbUtil.MysqlDump = "./mariadbutil/bin/mariadb-dump"
}
if len(db.MariadbUtil.MysqlBinlog) == 0 {
db.MariadbUtil.MysqlBinlog = "./mariadbutil/bin/mariadb-binlog"
}
}

View File

@@ -0,0 +1,27 @@
package config
func (db *Db) Default() {
if len(db.BackupPath) == 0 {
db.BackupPath = "./backup"
}
if len(db.MysqlUtil.Mysql) == 0 {
db.MysqlUtil.Mysql = "./mysqlutil/bin/mysql"
}
if len(db.MysqlUtil.MysqlDump) == 0 {
db.MysqlUtil.MysqlDump = "./mysqlutil/bin/mysqldump"
}
if len(db.MysqlUtil.MysqlBinlog) == 0 {
db.MysqlUtil.MysqlBinlog = "./mysqlutil/bin/mysqlbinlog"
}
if len(db.MariadbUtil.Mysql) == 0 {
db.MariadbUtil.Mysql = "./mariadbutil/bin/mariadb"
}
if len(db.MariadbUtil.MysqlDump) == 0 {
db.MariadbUtil.MysqlDump = "./mariadbutil/bin/mariadb-dump"
}
if len(db.MariadbUtil.MysqlBinlog) == 0 {
db.MariadbUtil.MysqlBinlog = "./mariadbutil/bin/mariadb-binlog"
}
}

View File

@@ -0,0 +1,27 @@
package config
func (db *Db) Default() {
if len(db.BackupPath) == 0 {
db.BackupPath = "./backup"
}
if len(db.MysqlUtil.Mysql) == 0 {
db.MysqlUtil.Mysql = "./mysqlutil/bin/mysql.exe"
}
if len(db.MysqlUtil.MysqlDump) == 0 {
db.MysqlUtil.MysqlDump = "./mysqlutil/bin/mysqldump.exe"
}
if len(db.MysqlUtil.Mysql) == 0 {
db.MysqlUtil.MysqlBinlog = "./mysqlutil/bin/mysqlbinlog.exe"
}
if len(db.MariadbUtil.Mysql) == 0 {
db.MariadbUtil.Mysql = "./mariadbutil/bin/mariadb.exe"
}
if len(db.MariadbUtil.MysqlDump) == 0 {
db.MariadbUtil.MysqlDump = "./mariadbutil/bin/mariadb-dump.exe"
}
if len(db.MariadbUtil.MysqlBinlog) == 0 {
db.MariadbUtil.MysqlBinlog = "./mariadbutil/bin/mariadb-binlog.exe"
}
}