linux下的expect使用

expect介绍

expect提供自动交互的的一个工具

案列

登录远程服务器不用手工输入密码

#!/usr/bin/expect
set timeout 20
spawn ssh -o StrictHostKeyChecking=no root@10.25.0.1
expect "*password:"
send "123456\r"
# expect "*#"
interact

以上脚本就ssh访问远程服务器10.25.0.1,只会自动输入密码123456。

收集日志文件

#!/usr/bin/expect
set timeout 20
spawn ssh -o StrictHostKeyChecking=no root@10.25.0.1
expect "*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 服务其中一个服务看是否有正常报文返回。
#最后退出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余很多之很多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值