实现备份可设置
This commit is contained in:
parent
fedfc12e3e
commit
df64dc8ebd
|
|
@ -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<String> 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.<FileBackupLog>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) {
|
||||
|
|
|
|||
|
|
@ -65,3 +65,4 @@ backup.mysql.script.path=/workspace/mysqlbak/back_dev.sh
|
|||
|
||||
file.enc.passwd=123456
|
||||
login.enc.passwd=123456
|
||||
backup.interval.mins=1440
|
||||
Loading…
Reference in New Issue