putonghao
2022-09-14 705f76d542397154da2acf5461f2888828cbd5b8
swfs.go
@@ -136,6 +136,42 @@
   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
}
func writeToFile(filePath string, outPut []byte) error {
   f, err := os.OpenFile(filePath, os.O_WRONLY|os.O_TRUNC, 0600)
   defer f.Close()