From 9ac550ed86bc7a0a80ed46d1e9f3382e2759e675 Mon Sep 17 00:00:00 2001 From: louwenzhi Date: Mon, 15 Mar 2021 10:56:21 +0800 Subject: [PATCH] =?UTF-8?q?db=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=A4=87?= =?UTF-8?q?=E4=BB=BD=E5=8A=9F=E8=83=BD=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/db.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/db/db.go b/db/db.go index 7878c1f..331f82a 100644 --- a/db/db.go +++ b/db/db.go @@ -73,3 +73,33 @@ func MgoDb() *mongo.Client { return mgoDb } } + + +//数据备份 +func BackUp() { + var ( + engine *xorm.Engine + err error + ) + + c := conf.MasterDbConfig + + driveSource := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?charset=utf8", + c.User, c.Pwd, c.Host, c.Port, c.DbName) + if engine, err = xorm.NewEngine(conf.DriverName, driveSource); err != nil { + return + } + if err = engine.Ping(); err != nil { + glog.ErrorExtln("数据库连接失败:", "err:", err.Error()) + return + } else { + glog.ErrorExtln("数据库连接成功:", "driveSource", driveSource) + } + filename := utils.TimeFormat(time.Now(),"yyyy-MM-dd") + ".sql" + dirpath := filepath.Join(c.BackUp,filename) + err = engine.DumpAllToFile(dirpath, conf.DriverName) + if err != nil { + return + } + +}