CentOS7 Puppet安装脚本小结
来源:互联网 发布:抓取淘宝商品 编辑:程序博客网 时间:2024/06/05 04:30
前言:
该脚本安装对应的是puppet的server端以及client端;具体使用时参考脚本中的参数说明;
软件环境:
客户端系统:CentOS-7-x86_64
服务器端:CentOS-7-x86_64
Ruby版本:ruby-1.8.7.374-4.el6_6.x86_64.rpm
Puppet版本:3.8.4
安装脚本:
#!/bin/bash# Program:# This script is to install puppet master or agent # History:# 2016/01/20 yuu## 参数说明: # 传入的第一个参数:如果为master则表示puppet server的安装, # 不传或传其它的参数值则表示安装puppet client master="master"if [ $# == 0 ]then target="client"else target=$1fifunction installPuppet(){ #if [ "`rpm -qa | grep -c ntp`" == 0 ],该句效果和下面两句一样 rpm -qa | grep ntp >> /dev/null if [ $? != 0 ] then yum install -y ntp && echo "###installing ntp###" fi systemctl start ntpd.service && echo "### start ntpd.service ###" systemctl enable ntpd.service && echo "### enable ntpd.service ###" yum -y install ruby ruby-libs ruby-shadow && echo "### installing ruby ###" rpm -Uvh http://yum.puppetlabs.com/el/7Server/products/x86_64/puppetlabs-release-7-11.noarch.rpm && echo "### 配置yum源 ###" yum clean all # 以下内容为server与client端的不同 if [ $target = $master ] then yum -y install puppet-server && echo "### installing puppet server ###" else yum -y install puppet && echo "### installing puppet client ###" fi if [ $? == 0 ] then echo "### install puppet succeeded ###" if [ $target = $master ] then systemctl start puppetmaster.service && echo "### start puppetmaster.service ###" systemctl enable puppetmaster.service && echo "### enable puppetmaster.service ###" # 服务端监听8140端口,iptables -nv -L | grep -w 8140可查看开放监听的端口 /sbin/iptables -A INPUT -p tcp --dport 8140 -j ACCEPT && echo "### server listen 8140 ###" else systemctl start puppet.service && echo "### start puppet.service ###" systemctl enable puppet.service && echo "### enable puppet.service ###" # 客户端监听8139端口 /sbin/iptables -A INPUT -p tcp --dport 8139 -j ACCEPT && echo "### client listen 8139 ###" fi else echo "### install puppet failed ###" fi}installPuppet
小结与思考:
1: bash shell 的if语句会定义if行定义的那个命令,如果if后面命令的退出状态码是0(即该命令成功运行),位于then部分的命令就会被执行,如果返回状态码是其它值,则then部分的内容不会执行;如:
if date then echo "success" fi
2:注意$#,$1,$2...
等参数在函数内与函数外之间的区别;
3:字符串比较注意 $str1 = $str2
比较;
4:学习上面关于命令的返回值做判断的两种方式;
参考资料:
《Puppet实战》 作者:刘宇 著 出版社: 机械工业出版社 出版时间:2014年1月
0 0
- CentOS7 Puppet安装脚本小结
- 集群中 Puppet-dashboard安装 小结
- puppet 安装
- 安装Puppet
- 安装Puppet
- 无人值守安装后直接puppet管理脚本
- puppet安装puppet server、client
- Puppet配置小结
- 使用kickstart脚本安装CentOS7
- apache安装脚本,兼容CentOS7
- centos7 k8s自动安装脚本
- centos7最小化安装安全脚本
- Puppet部署:安装puppet server、client
- PUPPET安装及PUPPET KICK 配置
- CentOS7安装MySQL冲突和问题解决小结
- CentOS7安装MySQL冲突和问题解决小结
- puppet安装要点
- puppet安装和使用
- 标准库string类型
- 动态数据源
- 分布式事务理论原理与实践分析
- 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
- 关于apache代理报错error reading status line from remote server
- CentOS7 Puppet安装脚本小结
- 在一个jsp页面引用另一个jsp页面的方式
- Patrick and Shopping
- Main Note - Oracle GoldenGate - Supplemental Logging
- 64位Win7下用VS2010编译OpenSSL
- iOS UITableView(十四) 设置TbleviewController的滚动范围
- 【网络流之最小割模型】poj3469 BZOJ3144 UVA1212
- Java WebSocket实现网络聊天室(群聊+私聊)
- unity初学(基本的方法)