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