瀏覽代碼

增加日志,处理BUG

wukai 1 年之前
父節點
當前提交
a97b960ed4

+ 7 - 1
sync-common/src/main/java/com/jjt/common/utils/LinuxCommand.java

@@ -4,6 +4,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.*;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -57,6 +58,7 @@ public class LinuxCommand {
      * @throws Exception 异常说明
      */
     public static void mysqlExport(List<String> commands, String path) throws Exception {
+        log.info("要执行命令了哟:{}", Arrays.toString(commands.toArray()));
         ProcessBuilder processBuilder = new ProcessBuilder();
         processBuilder.command(commands);
         processBuilder.redirectOutput(new File(path));
@@ -78,6 +80,7 @@ public class LinuxCommand {
      * @throws Exception 异常说明
      */
     public static void exec(List<String> commands) throws Exception {
+        log.info("要执行命令了哟:{}", Arrays.toString(commands.toArray()));
         ProcessBuilder processBuilder = new ProcessBuilder(commands);
         Process process = processBuilder.start();
 
@@ -98,8 +101,10 @@ public class LinuxCommand {
      * @throws Exception 异常说明
      */
     public static void exec(List<String> commands, String dir) throws Exception {
+        log.info("要执行命令了哟:{}", Arrays.toString(commands.toArray()));
         ProcessBuilder processBuilder = new ProcessBuilder(commands);
         processBuilder.directory(new File(dir));
+
         Process process = processBuilder.start();
 
         print(process);
@@ -112,7 +117,8 @@ public class LinuxCommand {
     }
 
     /**
-     *打印执行日志
+     * 打印执行日志
+     *
      * @param process 进程
      */
     private static void print(Process process) {

+ 9 - 3
sync-out/src/main/java/com/jjt/out/service/impl/OutMongoServiceImpl.java

@@ -57,8 +57,6 @@ public class OutMongoServiceImpl extends OutBaseService implements IOutMongoServ
         String dir = mongoInfo.getString("dir");
 
         String tmpDir = tmpDIr();
-        OutProcessInfo opi = new OutProcessInfo();
-        opi.setProcessType(SyncType.mongo.toString());
 
         String nowTime = DateUtils.dateTimeNow();
 
@@ -67,7 +65,7 @@ public class OutMongoServiceImpl extends OutBaseService implements IOutMongoServ
             //创建目录及父目录
             Files.createDirectories(Paths.get(tmpDir));
 
-            opi = new OutProcessInfo();
+            OutProcessInfo opi = new OutProcessInfo();
             opi.setProcessType(SyncType.mongo.toString());
             Date st = new Date();
             opi.setCreateTime(st);
@@ -85,6 +83,14 @@ public class OutMongoServiceImpl extends OutBaseService implements IOutMongoServ
             }
             commands.add(host);
             commands.add(port);
+            if (isInc) {
+                //如果是增量,需要获取时间戳
+                OutProcessInfo pi = new OutProcessInfo();
+                opi.setProcessType(SyncType.mongo.toString());
+                List<OutProcessInfo> list = processInfoService.selectOutProcessInfoList(pi);
+                String time = list.get(0).getProcessKey();
+                commands.add(time);
+            }
             commands.add(tmpDir);
 
             LinuxCommand.exec(commands, dir);

+ 6 - 5
sync-out/src/main/java/com/jjt/out/service/impl/OutProcessServiceImpl.java

@@ -20,10 +20,7 @@ import java.io.File;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.nio.file.StandardCopyOption;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * 数据同步Service业务层处理
@@ -81,9 +78,10 @@ public class OutProcessServiceImpl extends OutBaseService implements IOutProcess
                             boolean flag = ftpUtil.upload(file);
                             boolean flag1 = false;
                             //上传zip文件
+                            List<File> list = new ArrayList<>();
                             if (zipFile.isSplitArchive()) {
                                 //如果是分卷压缩文件,则需要读取所有文件名上传
-                                List<File> list = zipFile.getSplitZipFiles();
+                                list = zipFile.getSplitZipFiles();
                                 for (File f : list) {
                                     flag1 = flag && ftpUtil.upload(f);
                                 }
@@ -98,6 +96,9 @@ public class OutProcessServiceImpl extends OutBaseService implements IOutProcess
                                 //移动文件到备份目录
                                 Files.move(file.toPath(), Paths.get(bakDir + file.getName()), StandardCopyOption.REPLACE_EXISTING);
                                 Files.move(zipFile.getFile().toPath(), Paths.get(bakDir + zipFile.getFile().getName()), StandardCopyOption.REPLACE_EXISTING);
+                                for (File f : list) {
+                                    Files.move(f.toPath(), Paths.get(bakDir + f.getName()), StandardCopyOption.REPLACE_EXISTING);
+                                }
                                 status = "Y";
                             }