package main import ( "fmt" "os/exec" "time" ) func backUp(cmd string, c GoConfig) { switch cmd { case "full": fmt.Println("Starting full server backup") t := time.Now() timeStamp := t.Format(time.RFC3339) fullBackupName := fmt.Sprintf("%s/ServerBackup.%s.tgz", c.Config.BackupDir, timeStamp) fullBackup := exec.Command("tar", "-czf", fullBackupName, c.Config.ServDir) err := fullBackup.Run() if err != nil { fmt.Printf("Backup Failed: %s\n", err) } case "saves": fmt.Println("Backing up saves") t := time.Now() timeStamp := t.Format(time.RFC3339) savesBackupName := fmt.Sprintf("%s/SaveBackup.%s.tgz", c.Config.BackupDir, timeStamp) saveDir := fmt.Sprintf("%s/saves", c.Config.ServDir) savesBackup := exec.Command("tar", "-czf", savesBackupName, saveDir) err := savesBackup.Run() if err != nil { fmt.Printf("Backup Failed: %s\n", err) } } }