github : https://github.com/wengyingjian/ssh-java-demo.git

程序写完后,ssh连接到远程服务器上需要做的步骤都是固定的,所以我们可以通过程序来使这件事情简单化。

1.原先要做的事:

    0).ssh user@host
password
远程登录
1).$CATALINA_HOME/bin/shutdown.sh
关闭tomcat
2).$CATALINA_HOME/bin/startup.sh
启动tomcat
3).tail -f $CATALINA_HOME/logs/catalina.out
监控程序日志输出。这里也可能是log4j指定的其它目录。 2.寻求解决方案。 最开始(现在也是)我用的就是上面的方法,感觉特别死板,而且我也看到公司里有人用shell来做这些事情。于是我就想,我是不是也应该让程序来帮自己工作。
首先,我不怎么会bshell,其次,我想做的更好(将这些所有的步骤放到maven插件里面去做)。所以我就想,既然bshell可以来控制ssh,那么我用java应该同样也可以。
上网搜了下,发现的确有,于是就拿过来用了。 3.搬过来改造 首先是测试与加注释。
为了保险起见(有前辈告诉我调用bin/shutdown.sh不好,还没关掉又打开会出问题,直接找到进程杀死更加安全)
发现这个调用返回字符串的时候有些坑,每次都是得到所有的消息,无奈只好字符串处理。来得到返回的进程号,然后杀死。
到这里一切都还成功 4.现在需要追踪日志了 翻了半天接口没找到能像ssh连接时一样不断输出日志的。所以不能再去找找有没有其它的方法了。

java控制远程ssh-expect4j(一)的更多相关文章

  1. java控制远程ssh-JSCH(二)

    github: https://github.com/wengyingjian/ssh-java-demo.git 这次找到了一套新的api,叫jsch.网上查了一下,顺便把官网的几个demo给一通拿 ...

  2. JAVA实现远程SSH连接linux并运行命令

    博客转移到http://blog.codeconch.com

  3. java:Linux(简单命令,远程ssh使用hostname访问,.免密钥登录配置)

    1.临时关闭防火墙: service  iptables  stop 临时开启防火墙: service  iptables  start 查看防火墙状态: service  iptables  sta ...

  4. Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)

    第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...

  5. 不同路由器下远程ssh登录Beaglebone系统(通过路由器端口转发,配合花生壳的DDNS功能)

    使用场景: 一般家庭设备都是通过路由器中转连上互联网的,而且运营商给家庭宽带分配的IP地址也是动态的.随时可能变动的.所以当程序员们离开家之后,是很难直接和家里的设备进行交互的.但是通过TPLINK路 ...

  6. (转)远程SSH连接服务与基本排错

    远程SSH连接服务与基本排错 原文:https://www.cnblogs.com/chensiqiqi/p/6224474.html#top 1.1 为什么要远程连接Linux系统 在实际的工作场景 ...

  7. 公钥-私钥 白名单-黑名单 Linux 远程访问及控制(SSH)

    远程访问及控制一.SSH远程管理二.OpenSSH服务器① SSH (Secure Shell)协议② OpenSSH三.配置OpenSSH服务器举例四.sshd 服务支持两种验证方式五.使用SSH客 ...

  8. Android(Java)控制GPIO的方法及耗时分析

    前面两篇分别介绍了通过脚本和C代码读写/sys/class/gpio以控制GPIO.实际项目调试时经常还需要在Java代码里控制GPIO,其实现与C代码类似,唯一不同是Android权限.本文重点介绍 ...

  9. virtualbox下面安装ubuntu后外网如何远程ssh访问

    这两天在折腾virtualbox安装linux的事情,想多弄几个节点,装hadoop, 环境如下 两台thinkpad, 一台正常上班用的,win7 一台装的ubuntu kylin 16.04, 上 ...

随机推荐

  1. python3 + selenium + eclipse 中报:Unable to find a matching set of capabilities

    在环境python3 + selenium + eclipse 运行报错::Unable to find a matching set of capabilities 解决办法:Update Fire ...

  2. failed to create rwlayer: lstat /var/lib/docker/overlay2/ no such file or directory

    在使用Docker构建微服务镜像时出现的错误.第一天构建好好的,第二天就出现了这样的错误.通过百度这条错误的信息非常少,只在 stackoverflow.com 上找到一条,问题指向了 dockerf ...

  3. [poj1986]Distance Queries(LCA)

    解题关键:LCA模板题 复杂度:$O(n\log n)$ #pragma comment(linker, "/STACK:1024000000,1024000000") #incl ...

  4. MySQL Horizontal Scaling

    http://www.tuicool.com/articles/miuq63E http://www.guokr.com/blog/475765/ http://songwie.com/article ...

  5. mysql的索引key_len计算方法,及个字段所占字节数

    key_len的长度计算公式: varchr(10)变长字段且允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)+2(变长字段) ...

  6. lvs squid相关

    http://zh.linuxvirtualserver.org/ 这几天在要对用户请求过来的post 的body内容进行处理,就具体了解了一下squid 处理post请求的具体流程,在这里具体分享一 ...

  7. Python之路(四十一):通过项目来深入理解tornado

    Tornado之路   引子 与其感慨路难行,不如马上出发 目录 通过项目来深入理解tornado(一):tornado基础回顾 通过项目来深入理解tornado(二):AsyncHttpClient ...

  8. 自动化测试工具 Test Studio入门教程

    Test Studio安装 可以到下载试用版 官网 http://www.telerik.com/teststudio , 装完以后需要装silverlight 安装好了,主界面是介个样子的 Test ...

  9. 【UVA - 136】Ugly Numbers(set)

    Ugly Numbers Descriptions: Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequ ...

  10. [转] ios数组基本用法和排序

    http://blog.csdn.net/daiyelang/article/details/18726947 1.创建数组 // 创建一个空的数组 NSArray *array = [NSArray ...