当前位置:网站首页>獲取並監控遠程服務器日志
獲取並監控遠程服務器日志
2022-07-03 05:18:00 【焦慮的二狗】
測試JSch
原文地址:https://www.freesion.com/article/3557457395/
POM配置
<dependencies>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.51</version>
</dependency>
<dependency>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>maven-archetype</artifactId>
<version>3.1.2</version>
</dependency>
</dependencies>
函數入口
import com.jcraft.jsch.JSchException;
import java.io.IOException;
public class Hellossh {
public static String host = "10.211.55.3";
public static String username = "parallels";
public static String password = "WW731298";
public static void main(String[] args) throws IOException, JSchException {
String command1 = "head -n 1 /home/admin/logs/*.log";
//執行輸入信息
JSchUtil js = new JSchUtil(username, password, host, 22);
js.Connection();
js.executeCmd(command1);
}
}
UTIL類
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
public class JSchUtil {
//初始化類內變量
private int SSH_PORT;
private String username;
private String password;
private String hostip;
private String charset = "UTF-8";
private Session session;
public JSchUtil(String user, String password, String hostip, int port) {
this.username = user;
this.password = password;
this.hostip = hostip;
this.SSH_PORT = port;
}
/*
連接到指定IP
*/
public void Connection() throws JSchException {
JSch js = new JSch();
session = js.getSession(username, hostip, SSH_PORT);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.setTimeout(3000);
session.connect();
}
/*
關閉實例鏈接
*/
public void disconnection() {
if (session != null && session.isConnected()) {
session.disconnect();
}
}
/*
執行ssh命令接口
*/
public void executeCmd(String command) throws JSchException, IOException {
BufferedReader reader = null;
Channel channel = null;
System.out.println("**********************************");
System.out.println("InputCommand:" + "【" + command + "】");
System.out.println("**********************************");
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;
System.out.println("OutPutResult:" + "\n");
StringBuffer buffer = new StringBuffer();
while ((buf = reader.readLine()) != null) {
System.out.println(buf);
buffer.append(buf);
buffer.append("\n");
}
System.out.println("**********************************");
//測試結果可返回做正則匹配進行邏輯判斷
System.out.println("ReturnResult:" + "\n" + buffer.toString());
channel.disconnect();
}
}
边栏推荐
- Force GCC to compile 32-bit programs on 64 bit platform
- Go practice -- use JWT (JSON web token) in golang
- Introduction to deep learning - definition Introduction (I)
- Webrtc M96 release notes (SDP abolishes Plan B and supports opus red redundant coding)
- Redis 入門和數據類型講解
- 6.23星期四库作业
- About debugging the assignment of pagenum and PageSize of the formal parameter pageweb < T > (i.e. page encapsulation generic) in the controller
- My first Smartphone
- Go practice -- factory mode of design patterns in golang (simple factory, factory method, abstract factory)
- Go practice -- generate and read QR codes in golang (skip2 / go QRcode and boombuilder / barcode)
猜你喜欢

Yolov5 network structure + code + application details | CSDN creation punch in
![[research materials] the fourth quarter report of the survey of Chinese small and micro entrepreneurs in 2021 - Download attached](/img/01/052928e7f20ca671cdc4c30ae55258.jpg)
[research materials] the fourth quarter report of the survey of Chinese small and micro entrepreneurs in 2021 - Download attached

Intégration profonde et alignement des séquences de protéines Google

JQ style, element operation, effect, filtering method and transformation, event object

Detailed explanation of yolov5 training own data set

Common interview questions of microservice

Burp suite plug-in based on actual combat uses tips

联想R7000显卡的拆卸与安装

Why should we rewrite hashcode when we rewrite the equals method?

ES7 easy mistakes in index creation
随机推荐
Messy change of mouse style in win system
Classification and discussion of plane grab detection methods based on learning
1103 integer factorization (30 points)
Go practice - gorilla / handlers used by gorilla web Toolkit
DEX net 2.0 for crawl detection
Intégration profonde et alignement des séquences de protéines Google
微服务常见面试题
Introduction to deep learning - definition Introduction (I)
Ueditor, FCKeditor, kindeditor editor vulnerability
1095 cars on campus (30 points)
[backtrader source code analysis 4] use Python to rewrite the first function of backtrader: time2num, which improves the efficiency by 2.2 times
Go practice -- gorilla / websocket used by gorilla web Toolkit
Detailed explanation of yolov5 training own data set
Compile and decompile GCC common instructions
Learn libcef together -- set cookies for your browser
1115 counting nodes in a BST (30 points)
Primary school campus IP network broadcasting - Design of primary school IP digital broadcasting system based on campus LAN
@Autowired 导致空指针报错 解决方式
XML配置文件
Yolov5 network structure + code + application details | CSDN creation punch in