MCPcopy Create free account
hub / github.com/epcdiy/timemachineplus / exeCopy

Method exeCopy

src/main/java/serviceRun.java:146–170  ·  view source on GitHub ↗
(File fileHandle,String file,long backupfileid)

Source from the content-addressed store, hash-verified

144 }
145 }
146 boolean exeCopy(File fileHandle,String file,long backupfileid) throws IOException {
147 Backuptargetroot backuptargetroot=getAvalidTarget(fileHandle.length());
148 if(backuptargetroot==null)
149 {
150 logger.error("no space in all targetbackups! need:"+fileHandle.length());
151 return false;
152 }
153 String md5str=DigestUtils.md5Hex(new FileInputStream(file));
154 String targetName=backuptargetroot.getTagetrootpath()+File.separator+backuptargetroot.getTargetrootdir()+File.separator+md5str+"_"+System.currentTimeMillis();
155 String targetNameSave=File.separator+backuptargetroot.getTargetrootdir()+File.separator+md5str+"_"+System.currentTimeMillis();
156 LocalDateTime begincopysingle=LocalDateTime.now();
157 try {
158 copyFileUsingFileChannels(fileHandle, new File(targetName));
159 }
160 catch (Exception e)
161 {
162 logger.error("failed to copy file from "+file+" to "+targetName);
163 return false;
164 }
165 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
166 mysqlHelper.exeSql("insert into tb_backfilehistory (backupfileid,backupid,motifytime,filesize,copystarttime,copyendtime,backuptargetpath,backuptargetrootid,md5) values (" +
167 backupfileid+","+backupid+","+fileHandle.lastModified()+","+fileHandle.length()+",'"+dateTimeFormatter.format(begincopysingle)+"','"+dateTimeFormatter.format(LocalDateTime.now())+"','"+targetNameSave+"',"+backuptargetroot.getId()+",'"+md5str+"')");
168 logger.info("copy file from "+file+" to "+targetName);
169 return true;
170 }
171
172
173 private void XCopy(Backuproot backuproot) throws SQLException, IOException {

Callers 1

XCopyMethod · 0.95

Calls 3

getAvalidTargetMethod · 0.95
exeSqlMethod · 0.80

Tested by

no test coverage detected