From f6ca7bb43270474fa876ff6ba62c6b2113b045ad Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期五, 31 五月 2024 14:03:29 +0800 Subject: [PATCH] Optimize day and night algorithm, format date and time, batch process by date. --- swfs.go | 43 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 39 insertions(+), 4 deletions(-) diff --git a/swfs.go b/swfs.go index d3a9b39..551c776 100644 --- a/swfs.go +++ b/swfs.go @@ -5,7 +5,6 @@ "bytes" "errors" "fmt" - "github.com/golang/glog" "io" "io/ioutil" "net/http" @@ -60,7 +59,7 @@ cp := configPath + "/seaweedfs_start.sh" file, err := os.OpenFile(cp, os.O_RDWR, 0666) if err != nil { - glog.Error("open config file fail, err: ", err) + fmt.Println("open config file fail, err: ", err) return info, err } defer file.Close() @@ -102,7 +101,7 @@ cp := configPath + "/seaweedfs_start.sh" file, err := os.OpenFile(cp, os.O_RDWR, 0666) if err != nil { - glog.Error("open config file fail, err: ", err) + fmt.Println("open config file fail, err: ", err) return false } defer file.Close() @@ -131,7 +130,43 @@ } if err := writeToFile(cp, output); err != nil { - glog.Errorf("write config file err: %v", err) + fmt.Println("write config file err: ", err) + return false + } + return true +} + +//璁剧疆閰嶇疆鏂囦欢ip浠ュ強peer +func SetConfigByIpAndPeer(configPath string, ip string, peers []string) bool { + cp := configPath + "/seaweedfs_start.sh" + file, err := os.OpenFile(cp, os.O_RDWR, 0666) + if err != nil { + fmt.Println("open config file fail, err: ", err) + return false + } + defer file.Close() + + buf := bufio.NewReader(file) + output := make([]byte, 0) + for { + line, _, c := buf.ReadLine() + if c == io.EOF { + break + } + if strings.Contains(string(line), "ip=") { + newline := "ip=" + ip + line = []byte(newline) + } + if strings.Contains(string(line), "peers=") { + newline := "peers=" + strings.Replace(strings.Trim(fmt.Sprint(peers), "[]"), " ", ",", -1) + line = []byte(newline) + } + output = append(output, line...) + output = append(output, []byte("\n")...) + } + + if err := writeToFile(cp, output); err != nil { + fmt.Println("write config file err: ", err) return false } return true -- Gitblit v1.8.0