设为首页 收藏本站
查看: 807|回复: 0

[经验分享] puppet 学习笔记

[复制链接]

尚未签到

发表于 2018-8-2 11:00:22 | 显示全部楼层 |阅读模式
#!/bin/bash  
#time:2014/12/10     by:Lance
  

  
SERVER_IP=`ifconfig | grep 172.16.8. |sed -n '1p' | awk '{print $2}' | awk -F':' '{print $2}'`
  

  
check_file(){
  
#验证是否已经安装puppet
  
if [ `rpm -qa | grep puppet- | wc -l` -ge 1 ]; then
  
    echo "此服务器已经安装puppet!!"
  
    exit 0
  
fi
  

  
#验证puppet文件夹是否存在
  
if [ -d /etc/puppet ]; then
  
        echo "/etc/puppet已经存在,正在备份。。。"
  
        mv /etc/puppet/puppet.conf /etc/puppet/puppet.conf.bak
  mv /etc/puppet/auth.conf /etc/puppet/auth.conf.bak
  
fi
  
}
  

  
check_system_clock(){
  
#sync time
  
/usr/sbin/ntpdate 202.120.2.101 && /sbin/hwclock -w
  
if [ -f /var/spool/cron/root ]; then
  if [ `grep ntpdate /var/spool/cron/root | wc -l` -eq 0 ]; then
  echo "ntpdate计划任务不存在,正在添加。。。"
  echo "01 1 * * * /usr/sbin/ntpdate 202.120.2.101 && /sbin/hwclock -w >/dev/null 2>&1" >>/var/spool/cron/root
  fi
  
fi
  

  
#System Time
  
if [ ! `cat /etc/sysconfig/clock |grep -i Shanghai` ];then
  
        echo "Time zone false ...正在修改。。。"
  sleep 3
  cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  
fi
  
}
  

  
check_repo(){
  
TEST=0
  #CentOS yum 源修改
  
if [ ! -f /etc/yum.repos.d/epel.repo ] && [ ! -f /etc/yum.repos.d/CentOS* ] &&( [ -f /etc/yum.repos.d/local.repo ] || [ -f /etc/yum.repos.d/2.repo ]); then
  cp /etc/yum.repos.d/bak/epel.repo /etc/yum.repos.d/epel.repo
  cp /etc/yum.repos.d/bak/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
  mv /etc/yum.repos.d/local.repo /etc/yum.repos.d/local.repo.bak &>/dev/null
  mv /etc/yum.repos.d/2.repo /etc/yum.repos.d/2.repo.bak &>/dev/null
  TEST=2
  #yum clean all
  yum makecache
  
fi
  
}
  

  
check_recovery(){
  
if [ $TEST -eq 2 ]; then
  mv /etc/yum.repos.d/local.repo.bak /etc/yum.repos.d/local.repo &>/dev/null
  mv /etc/yum.repos.d/2.repo.bak /etc/yum.repos.d/2.repo &>/dev/null
  
fi
  
}
  

  
epel_yum(){
  #验证操作系统版本并下载安装puppet yum源
  
if [ `uname -r | grep el6 | wc -l` -eq 1 ] && [ `rpm -qa | grep epel |wc -l` -eq 0 ]; then
  
#rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  wget https://yum.puppetlabs.com/el/6.5/products/x86_64/puppetlabs-release-6-5.noarch.rpm
  rpm -ivh puppetlabs-release-6-5.noarch.rpm
  rm -rf puppetlabs-release-6-5.noarch.rpm
  
elif [ `uname -r | grep el5 | wc -l` -eq 1 ] && [ `rpm -qa | grep epel |wc -l` -eq 0 ]; then
  rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
  
fi
  
}
  

  
check_install(){
  
#puppet_client端安装
  
yum install puppet -y
  

  
if [ $? -eq 0 ];then
  echo "安装完成,即将修改puppet配置文件。。。"
  

  
cat >> /etc/puppet/puppet.conf <<EOF
  

  
    server = 172.16.8.129        #server端IP地址
  
    certname = $SERVER_IP
  
    runinterval = 60             #puppet客户端向server自动请求时间间隔
  
    listen = true
  
    report = true
  
EOF
  

  
echo "修改完成,即将启动puppet。。。"
  

  
chkconfig puppet on
  
/etc/init.d/puppet start
  

  
fi
  
}
  

  
#检查网络
  
check_network(){
  
ping -c 1 www.baidu.com  &>/dev/null
  
if [ $? -ne 0 ]; then
  echo "外网故障,即将修改。。。"
  route add -net 0.0.0.0/0 gw 172.16.8.2
  
fi
  
}
  

  
check_network
  
check_file
  
check_system_clock
  
check_repo
  
epel_yum
  
check_install
  
check_recovery

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-545265-1-1.html 上篇帖子: puppet项目之crond与时间同步配置篇 下篇帖子: Puppet 安装与应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表