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 + } + +}