输出到文件
cmd := exec.Command(
appCfg.MysqlCfg.DumpFilePath,
"-h",
appCfg.MysqlCfg.Host,
"-u",
appCfg.MysqlCfg.User,
fmt.Sprintf("-p%s", appCfg.MysqlCfg.Password),
"-P",
appCfg.MysqlCfg.Port,
"-B",
appCfg.MysqlCfg.Database,
)
stdout, err := os.OpenFile("./backup/databases_backup.sql", os.O_CREATE|os.O_WRONLY, 0600)
if err != nil {
err = fmt.Errorf("创建./backup/databases_backup.sql文件失败,Err%s", err.Error())
return
}
defer stdout.Close()
// 重定向标准输出到文件
cmd.Stdout = stdout
// 执行命令
if err = cmd.Start(); err != nil {
err = fmt.Errorf("准备执行备份数据库失败,Err%s", err.Error())
return
}
if err = cmd.Wait(); err != nil {
err = fmt.Errorf("执行mysqldump备份数据库失败,Err%s", err.Error())
return
}
标准输出
cmd := exec.Command("zip", "-r", "./backup/backup_project.zip", appCfg.ToZipDir)
// // 不需要cmd.Run()
_, err = cmd.Output()
if err != nil {
err = fmt.Errorf("执行 zip -r ./backup/backup_project.zip 命令失败,Err%s", err.Error())
return
}
return