实现备份可设置
This commit is contained in:
parent
fedfc12e3e
commit
df64dc8ebd
|
|
@ -61,12 +61,13 @@ public class BackupTask {
|
||||||
@Resource
|
@Resource
|
||||||
private BackupHandler backupHandler;
|
private BackupHandler backupHandler;
|
||||||
|
|
||||||
@Scheduled(cron = "0 0 * * * ?")
|
@Scheduled(fixedDelayString = "#{${backup.interval.mins:720} * 1000 * 60}")
|
||||||
public void backup() {
|
public void backup() {
|
||||||
if (!isRemotePortListening(elePropertyConfig.getRemoteHost(), elePropertyConfig.getRemotePort())) {
|
if (!isRemotePortListening(elePropertyConfig.getRemoteHost(), elePropertyConfig.getRemotePort())) {
|
||||||
log.info("备份环境连接失败,未备份文件");
|
log.info("备份环境连接失败,未备份文件");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
int count = 0;
|
||||||
// 首先查看备份失败的文件
|
// 首先查看备份失败的文件
|
||||||
List<String> failBackFailFileIds = getFailBackFile();
|
List<String> failBackFailFileIds = getFailBackFile();
|
||||||
for (String id : failBackFailFileIds) {
|
for (String id : failBackFailFileIds) {
|
||||||
|
|
@ -86,6 +87,7 @@ public class BackupTask {
|
||||||
.set(FileBackupLog::getDuration, endTime - startTime)
|
.set(FileBackupLog::getDuration, endTime - startTime)
|
||||||
.set(FileBackupLog::getFailInfoDetail, resLog.getFailInfoDetail())
|
.set(FileBackupLog::getFailInfoDetail, resLog.getFailInfoDetail())
|
||||||
.set(FileBackupLog::isBackupSuccess, resLog.getBackupSuccess()));
|
.set(FileBackupLog::isBackupSuccess, resLog.getBackupSuccess()));
|
||||||
|
++count;
|
||||||
}
|
}
|
||||||
// 查找最大备份时间
|
// 查找最大备份时间
|
||||||
Date fileMaxCreateTime = getFileMaxCreateTime();
|
Date fileMaxCreateTime = getFileMaxCreateTime();
|
||||||
|
|
@ -98,11 +100,18 @@ public class BackupTask {
|
||||||
.gt(EdFileInfo::getCreatedTime, fileMaxCreateTime));
|
.gt(EdFileInfo::getCreatedTime, fileMaxCreateTime));
|
||||||
for (EdFileInfo edFileInfo : edFileInfos) {
|
for (EdFileInfo edFileInfo : edFileInfos) {
|
||||||
try {
|
try {
|
||||||
backUpFile(edFileInfo);
|
long size = fileBackupLogMapper.selectCount(Wrappers.<FileBackupLog>lambdaQuery().eq(FileBackupLog::getFileId, edFileInfo.getId()));
|
||||||
|
if (size == 0) {
|
||||||
|
backUpFile(edFileInfo);
|
||||||
|
++count;
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("备份文件错误, {} ", e.getMessage(), e);
|
log.warn("备份文件错误, {} ", e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
String info = StrFormatter.format("备份完成,此次成功备份 {} 个文件", count);
|
||||||
|
log.info(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void backUpFile(EdFileInfo edFileInfo) {
|
private void backUpFile(EdFileInfo edFileInfo) {
|
||||||
|
|
|
||||||
|
|
@ -64,4 +64,5 @@ backup.mysql.path=/workspace/mysqlbak/test
|
||||||
backup.mysql.script.path=/workspace/mysqlbak/back_dev.sh
|
backup.mysql.script.path=/workspace/mysqlbak/back_dev.sh
|
||||||
|
|
||||||
file.enc.passwd=123456
|
file.enc.passwd=123456
|
||||||
login.enc.passwd=123456
|
login.enc.passwd=123456
|
||||||
|
backup.interval.mins=1440
|
||||||
Loading…
Reference in New Issue