From dbb6a75e3f334eb220d1683c0ef3abfed7c06726 Mon Sep 17 00:00:00 2001 From: Owen Smith Date: Tue, 25 Nov 2014 13:58:06 +0000 Subject: [PATCH] backup: Ensure dest snapshot dir always exists Otherwise the SaveSnap operation fails --- etcdctl/command/backup_command.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etcdctl/command/backup_command.go b/etcdctl/command/backup_command.go index 5256cb1b0..e0a926a7b 100644 --- a/etcdctl/command/backup_command.go +++ b/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 {