This commit is contained in:
gotoeasy 2022-10-07 20:17:32 +08:00
parent 3e608d3acc
commit 191017be27
3 changed files with 15 additions and 8 deletions

View File

@ -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`

View File

@ -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) // 创建一个空文件,用来写入解包后的数据

View File

@ -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 // 本地更完整
}