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