sunty
2024-04-25 263f2a5fa7dc9239570be347fc162eb5d2b06ebf
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