first commit

This commit is contained in:
何昌清
2026-03-26 22:13:03 +08:00
parent bbe1faa363
commit a2685f7f1e
51 changed files with 11244 additions and 0 deletions

55
crontask/job_handlers.go Normal file
View File

@@ -0,0 +1,55 @@
// Package crontask/job_handlers 任务处理器文件
package crontask
import (
"log"
"os/exec"
)
func (cm *CronManager) registerDefaultHandlers() {
// mysql数据库备份任务
cm.RegisterHandler("backup_data", func() error {
err := ExecuteShellCommand("backup_data", "./backup_mysql.sh start")
if err != nil {
return err
}
err = ExecuteShellCommand("backup_mysql", "./backup_mysql.sh clean")
if err != nil {
return err
}
return nil
})
// 系统监控
cm.RegisterHandler("system_monitor", func() error {
log.Printf("system_monitor !!!")
return nil
})
// 执行日志轮转任务
cm.RegisterHandler("cleanup_log", func() error {
return ExecuteShellCommand("cleanup_log", "./gin-app.sh cleanlogs")
})
}
// ExecuteShellCommand 执行shell命令的公共方法
func ExecuteShellCommand(name, command string) error {
cmd := exec.Command("/bin/bash", "-c", command)
output, err := cmd.CombinedOutput()
if err != nil {
log.Printf("[%s] Shell command execution failed: %v", name, err)
log.Printf("[%s] Command output: %s", name, output)
return err
}
log.Printf("[%s] Shell command executed successfully", name)
log.Printf("[%s] Command output: %s", name, output)
return nil
}
// RegisterHandler 注册任务处理器
func (cm *CronManager) RegisterHandler(name string, handler JobHandler) {
cm.handlers[name] = handler
}