From fcee8eed6003869ec7c307b97a07b8904f346333 Mon Sep 17 00:00:00 2001
From: HuangHai <10402852@qq.com>
Date: Tue, 29 Apr 2025 08:33:27 +0800
Subject: [PATCH] 'commit'
---
dsBase/pom.xml | 11 +-
.../java/com/dsideal/dsBase/Util/SSHUtil.java | 262 ------------------
2 files changed, 6 insertions(+), 267 deletions(-)
delete mode 100644 dsBase/src/main/java/com/dsideal/dsBase/Util/SSHUtil.java
diff --git a/dsBase/pom.xml b/dsBase/pom.xml
index fc5b4f97..8362da5a 100644
--- a/dsBase/pom.xml
+++ b/dsBase/pom.xml
@@ -60,11 +60,6 @@
3.0.4-jdk17
-
- org.postgresql
- postgresql
- 42.7.1
-
@@ -95,6 +90,12 @@
5.1.0
+
+
+ org.postgresql
+ postgresql
+ 42.7.5
+
net.coobird
diff --git a/dsBase/src/main/java/com/dsideal/dsBase/Util/SSHUtil.java b/dsBase/src/main/java/com/dsideal/dsBase/Util/SSHUtil.java
deleted file mode 100644
index f728729e..00000000
--- a/dsBase/src/main/java/com/dsideal/dsBase/Util/SSHUtil.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package com.dsideal.dsBase.Util;
-
-import com.jcraft.jsch.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.*;
-import java.nio.charset.Charset;
-
-public class SSHUtil {
- private static Logger log = LoggerFactory.getLogger(SSHUtil.class);
-
- private String charset = "UTF-8"; // 设置编码格式
- private String user; // 用户名
- private String passwd; // 登录密码
- private String host; // 主机IP
- private int port = 22; //默认端口
- private JSch jsch;
- private Session session;
-
- private ChannelSftp sftp;
-
- /**
- * @param user 用户名
- * @param passwd 密码
- * @param host 主机IP
- */
- public SSHUtil(String user, String passwd, String host) {
- this.user = user;
- this.passwd = passwd;
- this.host = host;
- }
-
- /**
- * @param user 用户名
- * @param passwd 密码
- * @param host 主机IP
- */
- public SSHUtil(String user, String passwd, String host, int port) {
- this.user = user;
- this.passwd = passwd;
- this.host = host;
- this.port = port;
- }
-
- /**
- * 连接到指定的IP
- *
- * @throws JSchException
- */
- public void connect() throws JSchException {
- jsch = new JSch();
- session = jsch.getSession(user, host, port);
- session.setPassword(passwd);
- java.util.Properties config = new java.util.Properties();
- config.put("StrictHostKeyChecking", "no");
- session.setConfig(config);
- session.connect(60);
- Channel channel = session.openChannel("sftp");
- channel.connect(60);
- sftp = (ChannelSftp) channel;
- log.info("连接到SFTP成功。host: " + host);
- }
-
- /**
- * 关闭连接
- */
- public void disconnect() {
- if (sftp != null && sftp.isConnected()) {
- sftp.disconnect();
- }
- if (session != null && session.isConnected()) {
- session.disconnect();
- }
- }
-
- /**
- * 执行一条命令
- */
- public int exec(String command) throws Exception {
- int returnCode = -1;
- BufferedReader reader;
- Channel channel;
-
- channel = session.openChannel("exec");
- ((ChannelExec) channel).setCommand(command);
- channel.setInputStream(null);
- ((ChannelExec) channel).setErrStream(System.err);
- InputStream in = channel.getInputStream();
- reader = new BufferedReader(new InputStreamReader(in));//中文乱码貌似这里不能控制,看连接的服务器的
-
- channel.connect();
- System.out.println("The remote command is: " + command);
- String buf;
- while ((buf = reader.readLine()) != null) {
- System.out.println(buf);
- }
- reader.close();
- // Get the return code only after the channel is closed.
- if (channel.isClosed()) {
- returnCode = channel.getExitStatus();
- }
- channel.disconnect();
- return returnCode;
- }
-
- /**
- * 执行相关的命令
- */
- public void exec() {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- String command = "";
- BufferedReader reader = null;
- Channel channel = null;
- try {
- while ((command = br.readLine()) != null) {
- channel = session.openChannel("exec");
- ((ChannelExec) channel).setCommand(command);
- channel.setInputStream(null);
- ((ChannelExec) channel).setErrStream(System.err);
-
- channel.connect();
- InputStream in = channel.getInputStream();
- reader = new BufferedReader(new InputStreamReader(in,
- Charset.forName(charset)));
- String buf = null;
- while ((buf = reader.readLine()) != null) {
- System.out.println(buf);
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- } catch (JSchException e) {
- e.printStackTrace();
- } finally {
- try {
- reader.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- channel.disconnect();
- }
- }
-
- /**
- * 上传文件
- */
- public void upload(String local, String remote) throws Exception {
- File file = new File(local);
- if (file.isDirectory()) {
- throw new RuntimeException(local + " is not a file");
- }
- InputStream inputStream = null;
- try {
- String rpath = remote.substring(0, remote.lastIndexOf("/") + 1);
- if (!isDirExist(rpath)) {
- mkdir(rpath);
- }
- inputStream = new FileInputStream(file);
- sftp.setInputStream(inputStream);
- sftp.put(inputStream, remote);
- } catch (Exception e) {
- throw e;
- } finally {
- if (inputStream != null) {
- inputStream.close();
- }
- }
- }
-
- /**
- * 下载文件
- */
- public void downloadFile(String remote, String local) throws Exception {
- OutputStream outputStream = null;
- try {
- sftp.connect(5000);
- outputStream = new FileOutputStream(new File(local));
- sftp.get(remote, outputStream);
- outputStream.flush();
- } catch (Exception e) {
- throw e;
- } finally {
- if (outputStream != null) {
- outputStream.close();
- }
- }
- }
-
- /**
- * 移动到相应的目录下
- *
- * @param pathName 要移动的目录
- * @return
- */
- public boolean changeDir(String pathName) {
- if (pathName == null || pathName.trim().equals("")) {
- log.debug("invalid pathName");
- return false;
- }
- try {
- sftp.cd(pathName.replaceAll("\\\\", "/"));
- log.debug("directory successfully changed,current dir=" + sftp.pwd());
- return true;
- } catch (SftpException e) {
- log.error("failed to change directory", e);
- return false;
- }
- }
-
- /**
- * 创建一个文件目录,mkdir每次只能创建一个文件目录
- * 或者可以使用命令mkdir -p 来创建多个文件目录
- */
- public void mkdir(String createpath) {
- try {
- if (isDirExist(createpath)) {
- sftp.cd(createpath);
- return;
- }
- String pathArry[] = createpath.split("/");
- StringBuffer filePath = new StringBuffer("/");
- for (String path : pathArry) {
- if (path.equals("")) {
- continue;
- }
- filePath.append(path + "/");
- if (isDirExist(filePath.toString())) {
- sftp.cd(filePath.toString());
- } else {
- // 建立目录
- sftp.mkdir(filePath.toString());
- // 进入并设置为当前目录
- sftp.cd(filePath.toString());
- }
- }
- sftp.cd(createpath);
- } catch (SftpException e) {
- throw new RuntimeException("创建路径错误:" + createpath);
- }
- }
-
-
- /**
- * 判断目录是否存在
- *
- * @param directory
- * @return
- */
- public boolean isDirExist(String directory) {
- boolean isDirExistFlag = false;
- try {
- SftpATTRS sftpATTRS = sftp.lstat(directory);
- return sftpATTRS.isDir();
- } catch (Exception e) {
- if (e.getMessage().equalsIgnoreCase("no such file")) {
- isDirExistFlag = false;
- }
- }
- return isDirExistFlag;
- }
-}