在安装好expect 和tcl后,,我们就可向各个主机中执行相同的命令了,实际上也就是执行的TCL脚本,如下就是一个TCL脚本。
expect.tcl脚本逻辑:
1) 先SSH到所要的执行命令的主机 ,spawn ssh $user@$hostname
2) 然后在执行shell命令,脚本中执行的 是 函数exec_shell_command
3)脚本中log 为执行日志函数
expect.tcl
主机名:master 用户:Hadoop 密码:123456
执行脚本的命令:
expect expect.tcl master hadoop 123456
再有上面的基础脚本后,对于多台服务器配置,我们可以把服务器信息的写入配置文件
server.lst
最后通过一个shell脚本,读取server.lst来完成每台机器的配置,实例中是 创建一个xubc.log的文件expect.sh
sh expect.sh 将分别在每台服务器当前用户目录下创建 名为xubc.log 的文件,相关日志文件会在tcl.log中。
相关阅读:Linux下Expect命令安装
君子无故,玉不去身。