1、新增 记录 进程搜索
2、增加未绑定分组搜索 3、缺失机器号提示
This commit is contained in:
81
app/jobs/clear_job.go
Normal file
81
app/jobs/clear_job.go
Normal file
@ -0,0 +1,81 @@
|
||||
package jobs
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/go-admin-team/go-admin-core/logger"
|
||||
"github.com/go-admin-team/go-admin-core/sdk"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/config"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type ClearLogJob struct {
|
||||
}
|
||||
|
||||
// 删除过期日志
|
||||
func (t ClearLogJob) Exec(arg interface{}) error {
|
||||
str := time.Now().Format(timeFormat) + " [INFO] JobCore ClearLogJob exec success"
|
||||
defer logger.Info(str)
|
||||
var db *gorm.DB
|
||||
|
||||
for _, item := range sdk.Runtime.GetDb() {
|
||||
db = item
|
||||
break
|
||||
}
|
||||
|
||||
ClearLogs(db)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func ClearLogs(orm *gorm.DB) {
|
||||
dir := config.LoggerConfig.Path
|
||||
|
||||
if dir == "" {
|
||||
dir = "temp/logs"
|
||||
}
|
||||
|
||||
// 检查文件夹是否存在
|
||||
if _, err := os.Stat(dir); os.IsNotExist(err) {
|
||||
fmt.Printf("Directory %s does not exist, skipping cleanup.\n", dir)
|
||||
return
|
||||
}
|
||||
|
||||
// 获取当前时间
|
||||
now := time.Now()
|
||||
expirateDay := 2
|
||||
|
||||
// 遍历指定文件夹中的所有文件
|
||||
err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 只处理普通文件
|
||||
if !info.IsDir() {
|
||||
// 获取文件的修改时间
|
||||
modTime := info.ModTime()
|
||||
|
||||
// 计算文件修改时间与当前时间的差值
|
||||
duration := now.Sub(modTime)
|
||||
|
||||
// 如果文件超过7天,则删除
|
||||
if duration > time.Duration(expirateDay)*24*time.Hour {
|
||||
fmt.Printf("Deleting file: %s (Last modified: %s)\n", path, modTime)
|
||||
err := os.Remove(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("Error walking the path %v: %v\n", dir, err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user