当前位置: 首页 > news >正文

用java把服务器某个目录日志实时打印出来

1.引入第三方包

<dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.55</version>
</dependency>

2.代码如下


import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;public class MySQLPortForwarding {public static void main(String[] args) throws Exception{String sshHost = ""; //服务器ipString sshUsername = ""; //用户名称String sshPassword = ""; //用户密码String remoteHost = "localhost";int localPort = 3307; // 本地端口int remotePort = 3306; // 远程MySQL服务器端口JSch jsch = new JSch();Session session = jsch.getSession(sshUsername, sshHost, 22);session.setPassword(sshPassword);session.setConfig("StrictHostKeyChecking", "no");System.out.println("建立SSH连接...");session.connect();/*  //这步是做端口转发的,与文章无关,目的:服务器安装的有mysql,然后防火墙没开3306,本地无法直接连接mysql,// 这一步本地可以用过localhost:3307连接服务器的mysqlint assignedPort = session.setPortForwardingL(localPort, remoteHost, remotePort);System.out.println("本地端口 " + assignedPort + " 被转发到 " + remoteHost + ":" + remotePort);*/String command = "tail -f " + "/tmp/debug.log";ChannelExec channel = (ChannelExec) session.openChannel("exec");channel.setCommand(command);InputStream in = channel.getInputStream();channel.connect();BufferedReader reader = new BufferedReader(new InputStreamReader(in));String line;while ((line = reader.readLine()) != null) {System.out.println(line); // 实时打印日志内容}channel.disconnect();session.disconnect();}}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何接入电商数据(淘宝/京东)API接口的对接获取(商品详情|价格|SKU)
  • Revit 平面的圆弧,空间的椭圆弧
  • Linux内核有什么之内存管理子系统有什么第六回 —— 小内存分配(4)
  • Mathematica清除全局变量以及避免与内置命令冲突
  • 【Python爬虫】网页抓取实例之淘宝商品信息抓取
  • 探索未来,开启无限可能:打造智慧应用,亚马逊云科技大语言模型助您一臂之力
  • Golang Gorm 连接数据库
  • LogBack的日志报错解决办法 org.xml.sax.SAXNotRecognizedException
  • 黑客(网络安全)技术——高效自学1.0
  • Qt中对Udp数据打包发送和接收
  • 已知CSIDL常量值,求其对应路径。
  • ImportError: cannot import name ‘HTTPClientFactory‘ from ‘twisted.web.client‘
  • k8s、数据存储
  • 【数据结构】Lambda
  • 【C++】单例模式
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • HTML5新特性总结
  • JavaScript 基本功--面试宝典
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JSONP原理
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • nodejs实现webservice问题总结
  • quasar-framework cnodejs社区
  • Shadow DOM 内部构造及如何构建独立组件
  • SOFAMosn配置模型
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • vue.js框架原理浅析
  • 从零开始在ubuntu上搭建node开发环境
  • 搭建gitbook 和 访问权限认证
  • 对JS继承的一点思考
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​secrets --- 生成管理密码的安全随机数​
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #565. 查找之大编号
  • #php的pecl工具#
  • $jQuery 重写Alert样式方法
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (ibm)Java 语言的 XPath API
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (八)c52学习之旅-中断实验
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (图)IntelliTrace Tools 跟踪云端程序
  • *算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)