68 lines
1.9 KiB
Java
Executable File
68 lines
1.9 KiB
Java
Executable File
package db.job;
|
||
|
||
import java.util.Date;
|
||
|
||
import org.slf4j.Logger;
|
||
import org.slf4j.LoggerFactory;
|
||
|
||
import db.DBBackupLock;
|
||
import db.util.BackupUtil;
|
||
import kernel.util.DateUtils;
|
||
import project.log.SysLogService;
|
||
import project.syspara.SysparaService;
|
||
|
||
public class BackupJob {
|
||
private Logger log = LoggerFactory.getLogger(BackupJob.class);
|
||
protected SysLogService sysLogService;
|
||
protected SysparaService sysparaService;
|
||
|
||
public void taskJob() {
|
||
try {
|
||
// log.info("BackupJob taskJob start,time:"+DateUtils.dateToStr(new Date(), DateUtils.DF_yyyyMMddHHmmss)+",isBackup:"+isBackup()+",lock:"+DBBackupLock.getLock(DBBackupLock.ALL_DB_LOCK));
|
||
//未被锁
|
||
if(isBackup() && !DBBackupLock.getLock(DBBackupLock.ALL_DB_LOCK)) {
|
||
BackupUtil.backupPart(sysLogService,sysparaService);
|
||
}
|
||
log.info("BackupJob taskJob end");
|
||
}catch (Throwable t) {
|
||
log.error("BackupJob taskJob fail t:"+t);
|
||
}
|
||
|
||
}
|
||
|
||
/**
|
||
* 当前是否执行局部备份,true:开启,false:不开启
|
||
* @return
|
||
*/
|
||
private boolean isBackup() {
|
||
//例如, 01:55-02:35,04:00-05:08,13:55-14:45 表示多个时间段内不备份
|
||
try {
|
||
String not_part_backup_times = sysparaService.find("not_part_backup_times").getValue();
|
||
String[] times = not_part_backup_times.split(",");
|
||
Date now = new Date();
|
||
String nowDate = DateUtils.getDateStr(now);
|
||
for (int i = 0; i < times.length; i++) {
|
||
String[] timePart = times[i].split("-");
|
||
Date startTime = DateUtils.strToDate(nowDate+" "+timePart[0]);
|
||
Date endTime = DateUtils.strToDate(nowDate+" "+timePart[1]);
|
||
if(now.after(startTime)&&now.before(endTime)) {
|
||
return false;
|
||
}
|
||
}
|
||
}catch (Exception e) {
|
||
// TODO: handle exception
|
||
log.error("BackupJob isBackup fail,e:",e);
|
||
}
|
||
return true;
|
||
}
|
||
public void setSysLogService(SysLogService sysLogService) {
|
||
this.sysLogService = sysLogService;
|
||
}
|
||
|
||
public void setSysparaService(SysparaService sysparaService) {
|
||
this.sysparaService = sysparaService;
|
||
}
|
||
|
||
|
||
}
|