Skip to content

Instantly share code, notes, and snippets.

@bracki
Last active August 29, 2015 14:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bracki/54922a056fdd739ab0b0 to your computer and use it in GitHub Desktop.
Save bracki/54922a056fdd739ab0b0 to your computer and use it in GitHub Desktop.
func restoreDump(conn mysqlConnection) {
log.Print("Restoring dump")
// Collect the output from the command(s)
var output bytes.Buffer
var stderr bytes.Buffer
bzcat := exec.Command("/bin/bzcat", "/tmp/location")
bzcat.Stderr = &stderr
cmdString := mysqlCommand(conn, []string{"cms"})
mysql := exec.Command(cmdString[0], cmdString[1:]...)
var err error
mysql.Stdin, err = bzcat.StdoutPipe()
if err != nil {
log.Fatal(err)
}
mysql.Stdout, mysql.Stderr = &output, &stderr
log.Print("Starting bzcat")
err = bzcat.Start()
if err != nil {
log.Fatal(output.String(), stderr.String(), err)
}
log.Print("Starting mysql")
err = mysql.Start()
if err != nil {
log.Fatal(output.String(), stderr.String(), err)
}
log.Print("Waiting for bzcat")
err = bzcat.Wait()
if err != nil {
log.Fatal(output.String(), stderr.String(), err)
}
log.Print("Waiting for mysql")
err = mysql.Wait()
if err != nil {
log.Fatal(output.String(), stderr.String(), err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment