| | |
| | | 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() |