需求:100台linux机器需要部署上一个agent,一台一台的部署实在太麻烦,使用expect控件来进行交互式的部署,在shell脚本中实现。


有五个脚本ssh.sh expect.sh Ip.sh,ssh1.sh,tar.sh,下面来分析脚本是如何工作的。

1:expect.sh

102107599.jpg

设定超时时间200s,设定两个变量,host,passwd,这两个变量的意思是目标机器的IP地址,密码。

首先使用root用户ssh到远程机器,创建用户monitor1,然后给Monitor1用户设置密码。

第二步:使用scp工具把agent的压缩包传到目标机器的目标目录上。

2:ssh.sh

105625119.jpg

这里使用的是while循环

3:Ip.sh

105752808.jpg

4:tar.sh

105840470.jpg

5:ssh1.sh

110245976.jpg


脚本启动方法:./ssh.sh Ip.sh

./ssh1.sh Ip.sh

ssh脚本是一个while 循环,把Ip.sh里的IP地址和root密码传给 expect.sh脚本

作为expect脚本的第一个和第二个变量。

read命令以一行来结束