Go语言Exc包使用指南

silverwq
2023-12-04 / 0 评论 / 136 阅读 / 正在检测是否收录...

输出到文件

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
0

评论 (0)

取消