diff --git a/README.md b/README.md index 4a3a171..d5e95f1 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ docker run -d -p 8080:8080 -e GLC_CLUSTER_MODE=true -e GLC_SERVER_URL=http://172 - [x] `GLC_SAVE_DAYS`日志仓按日存储自动维护时的保留天数(`0~180`),`0`表示不自动删除,默认`180`天 - [x] `GLC_ENABLE_LOGIN`是否开启用户密码登录功能,默认`false` - [x] `GLC_USERNAME`查询界面登录用的用户名,默认`glc` -- [x] `GLC_PASSWORD`查询界面登录用的密码,默认`glogcenter` +- [x] `GLC_PASSWORD`查询界面登录用的密码,默认`GLogCenter100%666` - [x] `GLC_ENABLE_SECURITY_KEY`日志添加的接口是否开启API秘钥校验,默认`false` - [x] `GLC_HEADER_SECURITY_KEY`API秘钥的`header`键名,默认`X-GLC-AUTH` - [x] `GLC_SECURITY_KEY`API秘钥,默认`glogcenter` diff --git a/glc/ldb/backup/tar.go b/glc/ldb/backup/tar.go index c038099..9c3fb8a 100644 --- a/glc/ldb/backup/tar.go +++ b/glc/ldb/backup/tar.go @@ -26,8 +26,8 @@ func TarDir(directory string, tarfilename string) error { lenPrefix := cmn.LenRune(filepath.Dir(dir)) // 绝对路径除去末尾目录名后的长度 // 创建文件 - os.MkdirAll(filepath.Dir(tarfilename), 0666) // 建目录确保目录存在 - f, err := os.OpenFile(tarfilename, os.O_WRONLY|os.O_CREATE, 0666) // 建文件 + os.MkdirAll(filepath.Dir(tarfilename), 0777) // 建目录确保目录存在 + f, err := os.OpenFile(tarfilename, os.O_WRONLY|os.O_CREATE, 0777) // 建文件 if err != nil { fmt.Println(err) return err @@ -59,7 +59,7 @@ func TarDir(directory string, tarfilename string) error { Name: name, // 用相对目录名 Format: tar.FormatGNU, // 支持中文目录文件名 Size: info.Size(), - Mode: 0666, + Mode: 0777, ModTime: info.ModTime(), } @@ -109,10 +109,10 @@ func UnTar(tarFile string, dist string) error { full = filepath.Join(distDir, strings.ReplaceAll(hdr.Name, "/", "\\")) } if hdr.FileInfo().IsDir() { - os.MkdirAll(full, 0666) + os.MkdirAll(full, 0777) continue } else { - os.MkdirAll(filepath.Dir(full), 0666) + os.MkdirAll(filepath.Dir(full), 0777) } fw, err := os.Create(full) // 创建一个空文件,用来写入解包后的数据 diff --git a/glc/www/cluster/cluster_node_data_async.go b/glc/www/cluster/cluster_node_data_async.go index 4120a32..7eff91a 100644 --- a/glc/www/cluster/cluster_node_data_async.go +++ b/glc/www/cluster/cluster_node_data_async.go @@ -53,7 +53,7 @@ func checkAndCopyDataFromRemote() { // 筛选出最完整的日志仓信息 for j := 0; j < len(storelist); j++ { - md := storelist[i] + md := storelist[j] mstore := mapStore[md.Name] if mstore == nil { mapStore[md.Name] = md @@ -79,13 +79,15 @@ func checkAndCopyDataFromRemote() { // 远程有,本地无,复制 for k, remoteStore := range mapStore { + log.Println("日志仓有无检查同步", remoteStore.NodeUrl, remoteStore.Name) if k == todayStoreName { + log.Println("跳过当天的日志仓", todayStoreName) continue // 跳过当天的日志仓 } if mapLocalStore[k] == nil { // 下载 - log.Println("开始从", remoteStore.NodeUrl, "复制日志仓", remoteStore.Name) + log.Println("本地无日志仓", k, "开始从", remoteStore.NodeUrl, "复制", remoteStore.Name) tarfile, err := httpDownloadStoreFile(remoteStore.NodeUrl, remoteStore.Name) // 下载 if err != nil { continue @@ -99,18 +101,23 @@ func checkAndCopyDataFromRemote() { sysdb.SetStorageDataCount(remoteStore.Name, remoteStore.LogCount) sysdb.SetStorageIndexCount(remoteStore.Name, remoteStore.IndexCount) log.Println("完成从", remoteStore.NodeUrl, "复制日志仓", remoteStore.Name) + } else { + log.Println("本地有日志仓", k) } } // 远程全,本地缺,覆盖 for i := 0; i < len(localStores); i++ { md := localStores[i] + log.Println("日志仓数据检查同步", md.NodeUrl, md.Name) if md.Name == todayStoreName { + log.Println("跳过当天的日志仓", todayStoreName) continue // 跳过当天的日志仓 } mstore := mapStore[md.Name] if mstore == nil || md.LogCount >= mstore.LogCount { + log.Println("本地更完整,跳过", md.Name) continue // 本地更完整 }