expect介绍
expect提供自动交互的的一个工具
案列
登录远程服务器不用手工输入密码
#!/usr/bin/expectset timeout 20spawn ssh -o StrictHostKeyChecking=no root@10.25.0.1expect \"*password:\"send \"123456\\r\"# expect \"*#\"interact
以上脚本就ssh访问远程服务器10.25.0.1,只会自动输入密码123456。
收集日志文件
#!/usr/bin/expectset timeout 20spawn ssh -o StrictHostKeyChecking=no root@10.25.0.1expect \"*password:\"send \"123456\\r\"expect \"*#\"send \"cd /home/wintone/apache-tomcat-7.0.81/logs\\r\"expect \"*#\"send \"tar jcvf localhost.2018-04-18.log.tar.bz2 localhost.2018-04-18.log\\r\"expect \"*#\"send \"exit\\r\\r\"spawn scp root@10.25.0.1:/home/wintone/apache-tomcat-7.0.81/logs/localhost.2018-04-18.log.tar.bz2 .expect \"*password:\"send \"123456\\r\"interact
演示了登录服务器,cd到对应目录压缩文件,再退出当前服务器,再通过scp命令下载文件到本地。
这个脚本为了演示效果,真实情况下,可以把压缩文件这些服务器上的操作都合并到服务器上的一个命令脚本中。
更新代码重启服务器测试
#scp上传代码到服务器#调用服务器脚本#脚本大概内容:# shutdown tomcat服务器# ps aux|grep tomcat 判断tomcat进程是否已经关闭# 如果无法关闭,最后尝试kill -9进程# startup tomcat服务器# ps aux|grep tomcat 判断tomcat进程是否出现# netstat -an|grep 8080 判断端口是否正常监听了# curl 服务其中一个服务看是否有正常报文返回。#最后退出
© 版权声明
本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!
THE END