昊漫玉 发表于 2018-8-3 08:10:19

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]
查看完整版本: puppet系列之expect脚本