#!/bin/bash
for i in $(cat ./host.txt)
do
echo $i > ./tmp.txt
HOSTNAME=$(cut -d ':' -f1 ./tmp.txt)
IP=$(cut -d ':' -f2 ./tmp.txt)
PASS=$(cut -d ':' -f3 ./tmp.txt)
/usr/bin/expect <<-EOF
spawn ssh $IP
expect {
"yse/no" { send "yse\r";exp_continue }
"password" { send "$PASS\r" }
}
expect "*#"
send "cd /etc/yum.repos.d/ && rm -rf *.repo\r"
expect "*#"
send "wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo\r"
expect "*#"
send "wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo\r"
expect "*#"
set timeout 300
send "yum -y install salt-minion\r"
expect "*#"
send "exit\r"
interact
expect eof
EOF
sleep 30 /usr/bin/expect <<-EOF
spawn ssh $IP
expect {
"yse/no" { send "yse\r";exp_continue }
"password" { send "$PASS\r" }
}
expect "*#"
send "sed -i 's/#master: salt/master: 172.16.50.30/g' /etc/salt/minion\r"
expect "*#"
send "sed -i 's/#id:/id: $HOSTNAME/g' /etc/salt/minion\r"
expect "*#"
send "/etc/init.d/salt-minion restart\r"
expect "*#"
send "exit\r"
interact
expect eof
EOF
done
[root@centos- shell]# cat host.txt
lnmp:192.168.1.50:password
[root@centos- shell]#
[root@centos- shell]# cat salt.sh
#!/bin/bash for i in $(cat ./host.txt) do
echo $i >./tmp.txt
host_name=$(cut -d : -f1 ./tmp.txt)
ip=$(cut -d : -f2 ./tmp.txt)
pass=$(cut -d : -f3 ./tmp.txt) echo $host_name echo "$ip" echo "$pass" done
[root@centos- shell]# cat salt2.sh
#!/bin/bash for i in $(cat ./host.txt) do
host_name=`echo $i | awk -F : '{print $1}'`
ip=`echo $i | awk -F : '{print $2}'`
pass=`echo $i | awk -F : '{print $3}'` echo $host_name echo "$ip" echo "$pass" done
[root@centos- shell]#

expect 安装 salt 客户端的更多相关文章

  1. 安装SVN客户端重启电脑之后,右键未出现SVN选项的原因

    今天安装SVN客户端明明安装成功,电脑也重启过了,但是就是在右键里找不到SVN,百度了很久,删注册表.建用户组之类的方法都试过了,但是都没有效果. 后来才找到真正的原因,我的安装包是32位的,系统是6 ...

  2. 在本地windows机器上安装SecureCRT客户端

    一.SecureCRT客户端介绍. SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. SecureCRT支持 ...

  3. linux tcl expect 安装(转)

    linux tcl expect 安装 一.Tcl安装 1.  下载:tcl8.4.20-src.tar.gz http://www.tcl.tk/software/tcltk/downloadnow ...

  4. 不安装oracle客户端,用plsql连接oracle

    常用的Oracle开发的工具有SQL Developer和PL/SQL Developer,个人感觉前者虽然跨平台性优于后者,但比较大(大于300M)占用资源,而且用户体验也一般,而后者相对就小很多( ...

  5. [转]Liunx上安装svn客户端

    [转]Liunx上安装svn客户端 虽然说很简单的用yum install subversion就可以将svn安装到系统中,但是yum库中的版本实在是有点低——1.4.2.因此我选择以源码方式安装.安 ...

  6. 不安装Oracle客户端使用PLSQL

    要连接Oracle往往需要安装上百兆的ORACLE客户端,显得十分麻烦.先就介绍如何通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库.   其实这些操作都很简单,写在这里 ...

  7. 《oracle每日一练》免安装Oracle客户端使用PL/SQL

    免安装Oracle客户端使用PL/SQL Oracle客户端挺招人烦的,部署连接它的应用通常需要先安装它的客户端,安装程序要求在目标机器上写注册表,假设你没有洁癖的话,你仍可能被下面的事情绊住:当你的 ...

  8. iOS 没有安装对应客户端,不应显示对应的图标

    现在很多APP为了让用户更加快捷方便注册,都会使用第三方进行登录,例如QQ/微信/淘宝等.但是上线审核被拒,大致会出现以下内容: Additionally, we found that your ap ...

  9. 代码生成器Kalman Studio2.2发布,完美支持Oracle,不需要安装Oracle客户端

    这次更新主要是增加对Oracle的支持,不需要安装Oracle客户端,下面的配置文件列出了Kalman Studio支持的几种数据库 <?xml version="1.0" ...

随机推荐

  1. 通过SecureCRT连接虚拟机

    继续上一篇: http://www.cnblogs.com/CoolJayson/p/7430421.html 上一篇配置了虚拟机网络环境, 实际开发中通常使用SecureCRT或Xshell等连接L ...

  2. 1-OSI七层模型详解

    1.网络协议种类 市面上存在4,5,7层协议. 1.1 国际标准化组织ISO发布的OSI 7层协议模型(即OSI开放式互联参考模型),是概念性模型. 1.2 TCP/IP是一种实践类的模型,已成为行业 ...

  3. 【转】HTTP

    [转]HTTP 一.http概述 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTT ...

  4. JS的Ajax和同源策略

    JS实现的ajax AJAX核心(XMLHttpRequest) 其实AJAX就是在Javascript中多添加了一个对象:XMLHttpRequest对象.所有的异步交互都是使用XMLHttpSer ...

  5. 鸟哥Linux私房菜基础学习篇学习笔记1

    鸟哥Linux私房菜基础学习篇学习笔记1 第三章 主导分区(MBR),当系统在开机的时候会主动去读取这个区块的内容,必须对硬盘进行分区,这样硬盘才能被有效地使用. 所谓的分区只是针对64Bytes的分 ...

  6. mysql备份和bin-log日志

    总结]:mysql备份和bin-log日志 备份数据: mysqldump -uroot -p123456 test -l -F '/tmp/test.sql' -l:读锁(只能读取,不能更新) -F ...

  7. selenium中,8种 find element 方法

    -*- coding;utf-8 -*- from selenium import webdriver dr = webdriver.Chrome() dr.get("https://www ...

  8. Laravel 5.2问题-----postman进api的post请求,为什么出现Forbidden?

    Forbidden?就纳闷了,有写验证规则的,但是它出现紧张,感觉就是我落了设置什么东西了才会这样? 果不其然, Laravel有个一自动验证的,创建的时候是默认打开的, namespace App\ ...

  9. orm分组,聚合查询,执行原生sql语句

    from django.db.models import Avg from app01 import models annotate:(聚合查询) ret=models.Article.objects ...

  10. HTML 页面meta标签

    1. 概述 1.1 说明 <meta>标签提供了HTML文档的元数据[元数据(Metadata)是数据的数据信息],即页面的元信息,元数据不会显示在客户端,但是会被浏览器解析.meta元素 ...