首页 > 学院 > 开发设计 > 正文

java控制远程ssh-expect4j(一)

2019-11-14 14:58:05
字体:
来源:转载
供稿:网友

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连接时一样不断输出日志的。所以不能再去找找有没有其它的方法了。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表