#!/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. Rasterization 学习笔记

    ======================Barycentric interpolation====================================== <1>2d/3d ...

  2. WinRAR代码执行漏洞CVE-2018-20250

    0x01 分析思路 利用https://github.com/googleprojectzero/winafl 漏洞分析框架模糊测试WinRAR. 几个存档格式的崩溃,例如RAR,LZH和ACE,这些 ...

  3. 向量的L2范数求导

    回归中最为基础的方法, 最小二乘法. \[ \begin{align*} J_{LS}{(\theta)} &= \frac { 1 }{ 2 } { \left\| A\vec { x } ...

  4. 10分钟轻松学会 Python turtle 绘图

    python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即可 import turtle 先说明一下turtl ...

  5. linux添加swap分区【转】

    概述 添加交换分区主要是因为安装oracle时碰到交换分区太小时无法安装的情况,这时候就需要添加交换分区了. 操作简介 增加swap分区方法: 1.新建磁盘分区作为swap分区 2.用文件作为swap ...

  6. InstallShield 静默安装

    可能先需要获取安装包参数,安装包参数获取/?或是/HELP InstallScrip工程 1. 在命令行窗口中使用 -R 参数(即record) 运行安装程序. 例如: Setup.exe -R or ...

  7. struts2框架之OGNL(参考第三天学习笔记)

    ognl 1. 什么是ognl 对象图导航语言 Struts内置的表达式语言,它比EL要强大很多. ------------------ 2. 单独学习ognl * EL它操作的数据来自于:四大域:p ...

  8. tomcat和springboot访问日志及分析

    1.Tomcat设置访问日志 <Host name="localhost" appBase="webapps" unpackWARs="true ...

  9. STM32F1-GPIO的操作

    GPIO 即通用输入输出口.凡事都要熟悉,熟能生巧.一定要掌握MDK软件的工程操作方法. 对于GPIO的操作. Project里面要有以下几个文件夹(开发之前需要包含相应的库文件,这里默认已经包含) ...

  10. mina使用总结

    1.在会话中获得远程IP和端口 @Override public void messageReceived(IoSession session, Object message) throws Exce ...