Browse Source

backup: Ensure dest snapshot dir always exists

Otherwise the SaveSnap operation fails
Owen Smith 11 years ago
parent
commit
dbb6a75e3f
1 changed files with 4 additions and 0 deletions
  1. 4 0
      etcdctl/command/backup_command.go

+ 4 - 0
etcdctl/command/backup_command.go

@@ -19,6 +19,7 @@ package command
 import (
 	"log"
 	"math/rand"
+	"os"
 	"path"
 	"time"
 
@@ -49,6 +50,9 @@ func handleBackup(c *cli.Context) {
 	srcWAL := path.Join(c.String("data-dir"), "wal")
 	destWAL := path.Join(c.String("backup-dir"), "wal")
 
+	if err := os.MkdirAll(destSnap, 0700); err != nil {
+		log.Fatalf("failed creating backup snapshot dir %v: %v", destSnap, err)
+	}
 	ss := snap.New(srcSnap)
 	snapshot, err := ss.Load()
 	if err != nil && err != snap.ErrNoSnapshot {