From ea21f73abdf8269812df8bead7ff2e6ca4e6f0b1 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 19 Jun 2025 20:53:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=BB=E5=8A=A1=E5=91=A8=E6=9C=9F?= =?UTF-8?q?=E5=A4=87=E4=BB=BD=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E5=8F=91?= =?UTF-8?q?=E9=80=81ftp=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/common/controller/file.go | 4 ++-- .../ne_config_backup/ne_config_backup.go | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/modules/common/controller/file.go b/src/modules/common/controller/file.go index fc10e6e6..9bea9db5 100644 --- a/src/modules/common/controller/file.go +++ b/src/modules/common/controller/file.go @@ -331,7 +331,7 @@ func (s *FileController) File(c *gin.Context) { } // 检查路径是否在允许的目录范围内 - allowedPaths := []string{"/var/log", "/tmp", "/usr/local/omc/backup"} + allowedPaths := []string{"/var/log", "/tmp", "/usr/local/omc/backup", "/usr/local/etc/omc"} allowed := false for _, p := range allowedPaths { if strings.HasPrefix(querys.Path, p) { @@ -382,7 +382,7 @@ func (s *FileController) Remove(c *gin.Context) { } // 检查路径是否在允许的目录范围内 - allowedPaths := []string{"/tmp", "/usr/local/omc/backup"} + allowedPaths := []string{"/tmp", "/usr/local/omc/backup", "/usr/local/etc/omc"} allowed := false for _, p := range allowedPaths { if strings.HasPrefix(querys.Path, p) { diff --git a/src/modules/crontask/processor/ne_config_backup/ne_config_backup.go b/src/modules/crontask/processor/ne_config_backup/ne_config_backup.go index bb36135c..99de17f0 100644 --- a/src/modules/crontask/processor/ne_config_backup/ne_config_backup.go +++ b/src/modules/crontask/processor/ne_config_backup/ne_config_backup.go @@ -6,6 +6,7 @@ import ( "be.ems/src/framework/cron" "be.ems/src/framework/logger" + neDataService "be.ems/src/modules/network_data/service" neModel "be.ems/src/modules/network_element/model" neService "be.ems/src/modules/network_element/service" ) @@ -13,6 +14,7 @@ import ( var NewProcessor = &NeConfigBackupProcessor{ neConfigBackupService: neService.NewNeConfigBackup, neInfoService: neService.NewNeInfo, + backupService: neDataService.NewBackup, count: 0, } @@ -20,6 +22,7 @@ var NewProcessor = &NeConfigBackupProcessor{ type NeConfigBackupProcessor struct { neConfigBackupService *neService.NeConfigBackup // 网元配置文件备份记录服务 neInfoService *neService.NeInfo // 网元信息服务 + backupService *neDataService.Backup // 备份相关服务 count int // 执行次数 } @@ -42,6 +45,7 @@ func (s *NeConfigBackupProcessor) Execute(data any) (any, error) { result[neTypeAndId] = err.Error() continue } + // 新增备份记录 item := neModel.NeConfigBackup{ NeType: neInfo.NeType, @@ -50,8 +54,18 @@ func (s *NeConfigBackupProcessor) Execute(data any) (any, error) { Path: zipFilePath, CreateBy: "system", } - s.neConfigBackupService.Insert(item) - result[neTypeAndId] = "ok" + rows := s.neConfigBackupService.Insert(item) + if rows == "" { + result[neTypeAndId] = "failed" + continue + } + + msg := "ok" + // 上传到FTP服务器 + if err := s.backupService.FTPPushFile(zipFilePath, "ne_config"); err != nil { + result[neTypeAndId] = msg + ", ftp err:" + err.Error() + } + result[neTypeAndId] = msg } return result, nil