utils.go (etcd-3.5.5) | : | utils.go (etcd-3.5.6) | ||
---|---|---|---|---|
skipping to change at line 28 | skipping to change at line 28 | |||
"io" | "io" | |||
"net" | "net" | |||
"net/url" | "net/url" | |||
"os" | "os" | |||
"os/exec" | "os/exec" | |||
"path/filepath" | "path/filepath" | |||
"strconv" | "strconv" | |||
"time" | "time" | |||
"go.etcd.io/etcd/client/pkg/v3/fileutil" | "go.etcd.io/etcd/client/pkg/v3/fileutil" | |||
"go.uber.org/zap" | ||||
) | ) | |||
// TODO: support separate WAL directory | // TODO: support separate WAL directory | |||
func archive(baseDir, etcdLogPath, dataDir string) error { | func archive(lg *zap.Logger, baseDir, etcdLogPath, dataDir string) error { | |||
dir := filepath.Join(baseDir, "etcd-failure-archive", time.Now().Format(t ime.RFC3339)) | dir := filepath.Join(baseDir, "etcd-failure-archive", time.Now().Format(t ime.RFC3339)) | |||
if existDir(dir) { | if existDir(dir) { | |||
dir = filepath.Join(baseDir, "etcd-failure-archive", time.Now().A dd(time.Second).Format(time.RFC3339)) | dir = filepath.Join(baseDir, "etcd-failure-archive", time.Now().A dd(time.Second).Format(time.RFC3339)) | |||
} | } | |||
if err := fileutil.TouchDirAll(dir); err != nil { | if err := fileutil.TouchDirAll(lg, dir); err != nil { | |||
return err | return err | |||
} | } | |||
dst := filepath.Join(dir, "etcd.log") | dst := filepath.Join(dir, "etcd.log") | |||
if err := copyFile(etcdLogPath, dst); err != nil { | if err := copyFile(etcdLogPath, dst); err != nil { | |||
if !os.IsNotExist(err) { | if !os.IsNotExist(err) { | |||
return err | return err | |||
} | } | |||
} | } | |||
if err := os.Rename(dataDir, filepath.Join(dir, filepath.Base(dataDir))); err != nil { | if err := os.Rename(dataDir, filepath.Join(dir, filepath.Base(dataDir))); err != nil { | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 4 lines changed or added |