eglid 发表于 2015-11-26 12:26:45

运维自动化Saltstack之批量替换字符串

  一、搭建saltstack服务
  
  1.saltstack服务端master安装、配置。
123456# rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm# yum install -y salt-master# /etc/init.d/salt-master start# chkconfig salt-master on# chkconfig --list salt-mastersalt-master   0:off   1:off   2:on    3:on    4:on    5:on    6:off  2.修改默认的/etc/salt/master配置文件,然后重启salt-master服务。
12345678# vim /etc/salt/masterinterface: 10.0.1.173#服务端master的IP地址publish_port: 4505   #监听salt的消息发布系统端口ret_port: 4506       #salt客户端与服务端通信的端口# /etc/init.d/salt-master restart必须保证这2个端口可以正常通信,如果开启iptables防火墙,需要添加以下2条规则:-A INPUT -m state --state new -m tcp -p tcp --dport4505 -j ACCEPT-A INPUT -m state --state new -m tcp -p tcp --dport4506 -j ACCEPT  3. saltstack的minion端安装、配置。
  1)安装minion软件包。
12345# yum install -y salt-minion# vim /etc/salt/minionmaster: 10.0.1.173#填写master端的IP地址id: vmware2   #minion客户端主机名(标识字符)master_port: 4506 #开启salt客户端与服务端通信的端口  
  2)启动或者重启minion服务。
1# /etc/init.d/salt-minion restart  4.配置自动认证
  1)在master端,配置文件中,打开注释:
  auto_accept: True,设置为自动接受。
12345678910# vim /etc/salt/masterauto_accept: True重启下salt-master服务。# /etc/init.d/salt-master restart# salt-key -LAccepted Keys:vmware1vmware2Unaccepted Keys:Rejected Keys:  2)运行测试下。
123456# salt '*' test.pingvmware2:    True# salt '*' cmd.run 'date'vmware2:Fri Aug 22 12:05:24 CST 2014  二、根据需求写出shell脚本,然后放到master上执行,查看效果。
  1.写出shell脚本,在虚拟机上调试成功。
1234567891011121314151617181920212223# cat add_user.sh#!/bin/bashPS=`awk-F ":" '/taokey/ {print $2}'/etc/shadow`if id taokey &>/dev/null2>&1thensed -i '/taokey/s#'$PS'#abcd#g'/etc/shadowelseuseraddtaokeysed -i '/taokey/s/!!/abcd/'g/etc/shadowfiif [ -n `which sudo` ];thenecho'sudoexist' &>/dev/null2>&1else/usr/bin/yuminstall-y sudoecho"taokey    ALL=(ALL)   ALL">>/etc/sudoersfiNum=`greptaokey /etc/sudoers| wc -l`if [ "$Num" = "1" ]thenecho"user is exist.">/dev/nullelseecho"taokey    ALL=(ALL)   ALL">>/etc/sudoersfi  2.创建/srv/salt目录,把调试好的shell脚本add_user.sh放到/srv/salt目录下。
12# mkdir -p /srv/salt# cp add_user.sh /srv/salt/  3.用salt执行add_user.sh脚本。
12345678910111213# cd /srv/salt/# lsadd_user.sh# salt '*' cmd.scriptsalt://add_user.shvmware2:    ----------    pid:      4960    retcode:      0    stderr:            stdout:123456789101112131415161718执行脚本之前的客户端:# cat /etc/shadow | grep taokey#执行之后的客户端:# cat /etc/shadow | grep taokeytaokey:abcd:16304:0:99999:7:::# which sudo/usr/bin/sudo# tail /etc/sudoers## cdrom as root# %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom## Allows members of the users group to shutdown thissystem# %users localhost=/sbin/shutdown -h now## Read drop-in files from /etc/sudoers.d (the # heredoes not mean a comment)#includedir /etc/sudoers.dtaokey   ALL=(ALL)   ALL  4.在虚拟机上操作之后,开始线上操作。
  

  
  这时候,我就可以批量操作100多台服务器了。
页: [1]
查看完整版本: 运维自动化Saltstack之批量替换字符串