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

[经验分享] Puppet--软件包,cron任务自动化管理

[复制链接]

尚未签到

发表于 2018-8-3 09:14:31 | 显示全部楼层 |阅读模式
  Puppet自动化—软件包,cron任务

一.软件包资源
  Package:管理软件包的安装和升级
  管理软件包,现在分成两派,一派是自己能解决软件依赖,例如apt-get,yum ; 另一类是不能解决软件依赖,例如 dpkg,rpm ; puppet会根据你运行puppet的环境来自动判断你是用的什么包管理系统.当然你也可以手工设定 provider 参数让puppet用什么命令来管理软件包. 每个provider需要一些依赖来完成各项功能. 因此你必须为provider提供这些依赖
  参数
  Allowcdrom:告诉 apt 允许使用cdrom作为软件源, 可以设置成false或者 true
  Category:软件包设置的一个只读的属性
  Configfiles:是否保留或者替换软件的配置文件,大多数软件不支持这个参数,可设置的值是false,true
  Description:描述软件包,软件包设置的一个只读属性
  Ensure:设置该软件包应该在什么状态. installed 表示要安装该软件,也可以写成present; absent 表示反安装该软件,pureged 表示干净的移除该软件,latest 表示安装软件包的最新版本.
  Namevar:该资源的namevar ; 软件包的名字
  Provider:指定使用什么provider来提供软件包管理功能
  Responsefile:在debian上面安装软件,一般会回答一些问题,用这个文件来包含问题的预设答案, 用在debian或者 solaris系统上.
  Source:去那里找软件的安装包,例如rpm的包地址,必须是本地地址或者URL
  Package资源测试用例
  编辑site.pp,添加如下内容,安装nginx包,并且删除pppoe和pppoe-conf
  


  • [root@master puppet]# vim manifests/site.pp

  • package {

  •               ["nginx"]:

  •               ensure=>installed;

  •               ["pppoe","pppoe-conf"]:

  •               ensure=>absent;

  •          }
  

  编辑完成后,用其中一台Client测试
  


  • [root@client1 ~]# puppetd   --server  master.puppet --test

  • notice: Ignoring --listen on onetime run

  • info: Caching catalog for client1.centos

  • info: Applying configuration version '1329979654'

  • notice: Finished catalog run in 0.34 seconds
  

  检查nginx包是否安装,pppoe是否删除
  


  • [root@client1 ~]# rpm -qa nginx

  • nginx-0.8.54-1.el6.x86_64

  • [root@client1 ~]# rpm -qa  pppoe
  

二.Yumrepo资源  
  参数
  Baseurl:指定软件仓库的地址,设置成absent表示删除该仓库.
  Descr:提供给用户阅读的一个对软件仓库的描述,设置成absent将删除该描述
  Enabled:设置该仓库是否启用,可以设置的置是 0 或者 1
  Enablegroups:是否让yum在这个仓库里面使用软件组这个特性,可以设置的值是 0 , 1
  Exlude:shell模式匹配规则,匹配该规则的软件不会从这个仓库里面安装.
  Gpgcheck:该仓库是否启用gpg签名检查
  Include:设置一个文件路径,包含该文件到当前配置文件
  Keepalive:设置yum是否使用http/1.1 里面的keeplive特性, 可以设置成0 , 1
  metadata_expire:设置多少秒以后,仓库的metadata失效.
  Mirrorlist:指定一个包含该软件仓库镜像的url
  Name:该资源的namevar, 指定软件仓库的名字
  Priority:定软件仓库的优先次序,可以设置1-99
  Proxy:定yum使用的代理服务器地址
  proxy_name:理服务器用户名
  proxy_password:理服务器的用户密码
  timeout:果超过多少秒就放弃连接该软件仓库.

三.Cron资源
  参数
  除了用户和command两个参数以外,其他的参数都是可选项.
  Command:rontab要执行的命令, 环境变量按照系统本地规则进行管理,推荐使用绝对路径.
  Ensure:定该资源是否启用,可设置成true或false
  Environment:crontab环境里面指定环境变量,例如 PATH=/bin:/usr/bin:/usr/sbin.
  Hour:行crontab的小时,可设置成0-23
  Minute:行crontab的分钟,可设置成0-59
  Month:置crontab运行的月份,1-12
  Monthday:个月份中的日子,1-31
  Name:crontab的名字,这个名字用于管理员区分不同的crontab,以及puppet管理各种资源关系.
  Provider:定provider,可用的provider有
  User:该crontab加到那个用户的crontab列表,默认是运行puppet的用户
  Weekday:行crontab的星期数,0-7
   Cron计划任务测试用例
  在site.pp中加入如下内容
  


  • cron{ echo:

  •         command=>"echo \"This is cron job\"",

  •         user=>root,

  •         #hour=>[3,5],

  •         minute=>'*/2';

  •     }
  

  用Client进程测试:
  


  • [root@client1 ~]# puppetd   --server  master.puppet --test

  • notice: Ignoring --listen on onetime run

  • info: Caching catalog for client1.centos

  • info: Applying configuration version '1329980213'

  • notice: /Stage[main]//Node[default]/Cron[echo]/ensure: created

  • notice: Finished catalog run in 0.50 seconds
  

  检查Cron任务列表
  


  • [root@client1 ~]# crontab -l

  • # HEADER: This file was autogenerated at Thu Feb 23 14:56:53 +0800 2012 by puppet.

  • # HEADER: While it can still be managed manually, it is definitely not recommended.

  • # HEADER: Note particularly that the comments starting with 'Puppet Name' should

  • # HEADER: not be deleted, as doing so could cause duplicate cron jobs.

  • # Puppet Name: echo

  • */2 * * * * echo "This is cron job"
  

运维网声明 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-545674-1-1.html 上篇帖子: centos5.4-64bit puppet安装 下篇帖子: Puppet--sudo和ssh自动化管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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