puppet系列之expect脚本
[*]#!/bin/bash
[*]cmd="puppet agent --test --server server.domain.com"
[*]while read line
[*]do
[*] host=`echo $line |awk '{print $2}'`
[*] password=`echo $line |awk '{print $4}'`
[*] port=`echo $line |awk '{print $3}'`
[*] user=`echo $line |awk '{print $1}'`
[*] expect -c "
[*] spawn ssh -l$user $host -p$port \"$cmd\"
[*] expect {
[*] \"yes/no\" { send \"yes\n\";exp_continue;}
[*] \"assword:\" { send \"$password\r\"; }
[*] }
[*] expect eof
[*] "
[*]done < ip.txt
ip.txt请另行添加
ip.txt文件内容如下:
root IP 22 password
简要说明:文件内容由用户 IP地址 SSH端口号 密码组成
补充说明:一般我们都是在客户端拉,所以写了个expect,也可以再服务器端直接推送也是可以的,在那个客户端安装脚本 安装完启动Puppet就将开启8139端口,所以只要在服务器开放这个端口和8140端口;
页:
[1]