From df64dc8ebd4a900765d75dac944584d55a337b2b Mon Sep 17 00:00:00 2001 From: chenxudong Date: Thu, 6 Nov 2025 09:56:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=A4=87=E4=BB=BD=E5=8F=AF?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../industry/software/manage/tasks/BackupTask.java | 13 +++++++++++-- .../src/main/resources/application.properties | 3 ++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java index ef3b270..91e89f9 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java @@ -61,12 +61,13 @@ public class BackupTask { @Resource private BackupHandler backupHandler; - @Scheduled(cron = "0 0 * * * ?") + @Scheduled(fixedDelayString = "#{${backup.interval.mins:720} * 1000 * 60}") public void backup() { if (!isRemotePortListening(elePropertyConfig.getRemoteHost(), elePropertyConfig.getRemotePort())) { log.info("备份环境连接失败,未备份文件"); return; } + int count = 0; // 首先查看备份失败的文件 List failBackFailFileIds = getFailBackFile(); for (String id : failBackFailFileIds) { @@ -86,6 +87,7 @@ public class BackupTask { .set(FileBackupLog::getDuration, endTime - startTime) .set(FileBackupLog::getFailInfoDetail, resLog.getFailInfoDetail()) .set(FileBackupLog::isBackupSuccess, resLog.getBackupSuccess())); + ++count; } // 查找最大备份时间 Date fileMaxCreateTime = getFileMaxCreateTime(); @@ -98,11 +100,18 @@ public class BackupTask { .gt(EdFileInfo::getCreatedTime, fileMaxCreateTime)); for (EdFileInfo edFileInfo : edFileInfos) { try { - backUpFile(edFileInfo); + long size = fileBackupLogMapper.selectCount(Wrappers.lambdaQuery().eq(FileBackupLog::getFileId, edFileInfo.getId())); + if (size == 0) { + backUpFile(edFileInfo); + ++count; + } } catch (Exception e) { log.warn("备份文件错误, {} ", e.getMessage(), e); } + } + String info = StrFormatter.format("备份完成,此次成功备份 {} 个文件", count); + log.info(info); } private void backUpFile(EdFileInfo edFileInfo) { diff --git a/electrmangnetic/src/main/resources/application.properties b/electrmangnetic/src/main/resources/application.properties index f0909f8..f91f515 100644 --- a/electrmangnetic/src/main/resources/application.properties +++ b/electrmangnetic/src/main/resources/application.properties @@ -64,4 +64,5 @@ backup.mysql.path=/workspace/mysqlbak/test backup.mysql.script.path=/workspace/mysqlbak/back_dev.sh file.enc.passwd=123456 -login.enc.passwd=123456 \ No newline at end of file +login.enc.passwd=123456 +backup.interval.mins=1440 \ No newline at end of file