업로드 로직 수정
This commit is contained in:
@@ -83,6 +83,8 @@ dependencies {
|
|||||||
implementation 'io.hypersistence:hypersistence-utils-hibernate-63:3.7.0'
|
implementation 'io.hypersistence:hypersistence-utils-hibernate-63:3.7.0'
|
||||||
implementation 'org.reflections:reflections:0.10.2'
|
implementation 'org.reflections:reflections:0.10.2'
|
||||||
|
|
||||||
|
implementation 'com.jcraft:jsch:0.1.55'
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations.configureEach {
|
configurations.configureEach {
|
||||||
|
|||||||
@@ -2,6 +2,9 @@ package com.kamco.cd.training.common.utils;
|
|||||||
|
|
||||||
import static java.lang.String.CASE_INSENSITIVE_ORDER;
|
import static java.lang.String.CASE_INSENSITIVE_ORDER;
|
||||||
|
|
||||||
|
import com.jcraft.jsch.ChannelSftp;
|
||||||
|
import com.jcraft.jsch.JSch;
|
||||||
|
import com.jcraft.jsch.Session;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -23,6 +26,7 @@ import java.util.Arrays;
|
|||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -755,4 +759,45 @@ public class FIleChecker {
|
|||||||
|
|
||||||
return destFile;
|
return destFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void uploadTo86(Path localFile) {
|
||||||
|
|
||||||
|
String host = "192.168.2.86";
|
||||||
|
int port = 22;
|
||||||
|
String username = "kcomu";
|
||||||
|
String password = "Kamco2025!";
|
||||||
|
|
||||||
|
String remoteDir = "/home/kcomu/data/request";
|
||||||
|
|
||||||
|
Session session = null;
|
||||||
|
ChannelSftp channel = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
JSch jsch = new JSch();
|
||||||
|
|
||||||
|
session = jsch.getSession(username, host, port);
|
||||||
|
session.setPassword(password);
|
||||||
|
|
||||||
|
Properties config = new Properties();
|
||||||
|
config.put("StrictHostKeyChecking", "no");
|
||||||
|
session.setConfig(config);
|
||||||
|
|
||||||
|
session.connect(10_000);
|
||||||
|
|
||||||
|
channel = (ChannelSftp) session.openChannel("sftp");
|
||||||
|
channel.connect(10_000);
|
||||||
|
|
||||||
|
// 목적지 디렉토리 이동
|
||||||
|
channel.cd(remoteDir);
|
||||||
|
|
||||||
|
// 업로드
|
||||||
|
channel.put(localFile.toString(), localFile.getFileName().toString());
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException("SFTP upload failed", e);
|
||||||
|
} finally {
|
||||||
|
if (channel != null) channel.disconnect();
|
||||||
|
if (session != null) session.disconnect();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -233,6 +233,9 @@ public class UploadService {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
FIleChecker.deleteFolder(tmpDir);
|
FIleChecker.deleteFolder(tmpDir);
|
||||||
|
// 108 에서 86 서버로 이동
|
||||||
|
log.info("################# server move 108 -> 86");
|
||||||
|
FIleChecker.uploadTo86(outputPath);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.warn("tmpDir delete failed (merge already succeeded): tmpDir={}", tmpDir, e);
|
log.warn("tmpDir delete failed (merge already succeeded): tmpDir={}", tmpDir, e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user