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. KMP匹配 (1)

    ---恢复内容开始--- 字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串" ...

  2. HTTP缓存控制

    HTTP缓存控制总结   引言 通过网络获取内容既缓慢,成本又高.大的相应需要在客户端和服务器之间多次往返通信,这拖延了浏览器可以使用和处理内容的时间,同时也增加了通信的成本.因此,缓存和重用以前获取 ...

  3. 将eclipse java程序打包成jar的总结(包括工程中没有引用外部jar包和有引用外部jar包两种情况)

    一.当eclispe java工程中没有引用外部jar包时: 选中工程---->右键,Export...--->Java--->JAR file--->next-->填写 ...

  4. POJ-2718

    Smallest Difference Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 12158   Accepted: 3 ...

  5. 锐捷认证的一些问题&解决方法

    scau锐捷校园网各种无法吐槽,认证有时候自己掉线了麻痹都打到boss了给我掉线,收费也坑爹,连铁通都比不上. 1.锐捷认证客户端已停止工作: 貌似是毒霸的问题,把金山毒霸关掉再试 2.获取ip地址信 ...

  6. HRBUST - 1819 石子合并问题--圆形版(区间dp+环形+四边形优化)

    石子合并问题--圆形版 在圆形操场上摆放着一行共n堆的石子.现要将石子有序地合并成一堆.规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆石子数记为该次合并的得分.请编辑计算出将n堆石子合并成一堆的 ...

  7. 51Nod - 1640 天气晴朗的魔法 大+小生成树(最大值最小)/二分

    天气晴朗的魔法 这样阴沉的天气持续下去,我们不免担心起他的健康.   51nod魔法学校近日开展了主题为“天气晴朗”的魔法交流活动.   N名魔法师按阵法站好,之后选取N - 1条魔法链将所有魔法师的 ...

  8. conntrack-tools使用

    基础用法 系统配置 ### 开启流数据包统计(packets和bytes) # echo "net.netfilter.nf_conntrack_acct=1" >> ...

  9. Js获取当前的日期和时间以及时间戳转化为时间

    /** *获取当前时间 *format=1精确到天 *format=2精确到分 */ function getCurrentDate(format) { var now = new Date(); v ...

  10. ue4 svn备份目录

    http://blog.csdn.net/sh15285118586/article/details/55737480 UE4工程文件备份目录有:Config.Content.Plugins.Sour ...