mirror of
https://github.com/gotoeasy/glogcenter.git
synced 2025-09-15 12:58:34 +08:00
0.8.0
This commit is contained in:
parent
3e608d3acc
commit
191017be27
@ -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`
|
||||
|
||||
@ -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) // 创建一个空文件,用来写入解包后的数据
|
||||
|
||||
@ -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 // 本地更完整
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user