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包,并且删除pppoepppoe-conf

 
 
  1. [root@master puppet]# vim manifests/site.pp 
  2.  
  3. package { 
  4.  
  5.               ["nginx"]: 
  6.  
  7.               ensure=>installed; 
  8.  
  9.               ["pppoe","pppoe-conf"]: 
  10.  
  11.               ensure=>absent; 
  12.  
  13.          } 

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

 
 
  1. [root@client1 ~]# puppetd   --server  master.puppet --test 
  2.  
  3. notice: Ignoring --listen on onetime run 
  4.  
  5. info: Caching catalog for client1.centos 
  6.  
  7. info: Applying configuration version '1329979654' 
  8.  
  9. notice: Finished catalog run in 0.34 seconds 

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

 
 
  1. [root@client1 ~]# rpm -qa nginx 
  2.  
  3. nginx-0.8.54-1.el6.x86_64 
  4.  
  5. [root@client1 ~]# rpm -qa  pppoe 

二.Yumrepo资源   

参数

Baseurl:指定软件仓库的地址,设置成absent表示删除该仓库.

Descr:提供给用户阅读的一个对软件仓库的描述,设置成absent将删除该描述

Enabled:设置该仓库是否启用,可以设置的置是 0 或者 1

Enablegroups:是否让yum在这个仓库里面使用软件组这个特性,可以设置的值是 0 , 1

Exludeshell模式匹配规则,匹配该规则的软件不会从这个仓库里面安装.

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两个参数以外,其他的参数都是可选项.

Commandrontab要执行的命令环境变量按照系统本地规则进行管理,推荐使用绝对路径.

Ensure:定该资源是否启用,可设置成truefalse

Environment:crontab环境里面指定环境变量,例如 PATH=/bin:/usr/bin:/usr/sbin.

Hour:行crontab的小时,可设置成0-23

Minute:行crontab的分钟,可设置成0-59

Month:置crontab运行的月份,1-12

       Monthday:个月份中的日子,1-31

Namecrontab的名字,这个名字用于管理员区分不同的crontab,以及puppet管理各种资源关系.

Provider:定provider,可用的provider

User:该crontab加到那个用户的crontab列表,默认是运行puppet的用户

Weekday:行crontab的星期数,0-7

 Cron计划任务测试用例

    

       site.pp中加入如下内容

 
 
  1. cron{ echo: 
  2.  
  3.         command=>"echo \"This is cron job\""
  4.  
  5.         user=>root, 
  6.  
  7.         #hour=>[3,5], 
  8.  
  9.         minute=>'*/2'
  10.  
  11.     } 

       Client进程测试:

 
 
  1. [root@client1 ~]# puppetd   --server  master.puppet --test 
  2.  
  3. notice: Ignoring --listen on onetime run 
  4.  
  5. info: Caching catalog for client1.centos 
  6.  
  7. info: Applying configuration version '1329980213' 
  8.  
  9. notice: /Stage[main]//Node[default]/Cron[echo]/ensure: created 
  10.  
  11. notice: Finished catalog run in 0.50 seconds 

       检查Cron任务列表

 
 
  1. [root@client1 ~]# crontab -l 
  2.  
  3. # HEADER: This file was autogenerated at Thu Feb 23 14:56:53 +0800 2012 by puppet. 
  4.  
  5. # HEADER: While it can still be managed manually, it is definitely not recommended. 
  6.  
  7. # HEADER: Note particularly that the comments starting with 'Puppet Name' should 
  8.  
  9. # HEADER: not be deleted, as doing so could cause duplicate cron jobs. 
  10.  
  11. # Puppet Name: echo 
  12.  
  13. */2 * * * * echo "This is cron job" 









本文转自 waydee 51CTO博客,原文链接:http://blog.51cto.com/waydee/847130,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
76 3
|
3月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
70 4
|
3月前
|
运维 Linux Apache
Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例
【10月更文挑战第8天】本文介绍了Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例。Puppet通过定义资源状态和关系,确保系统配置始终如一,支持高效管理基础设施。文章详细讲解了Puppet的安装步骤、配置方法及DSL语言示例,帮助读者快速掌握Puppet的使用技巧。
97 2
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
32 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
|
10天前
|
人工智能 Linux API
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
PromptWizard 是微软开源的 AI 提示词自动化优化框架,通过自我演变和自我适应机制,迭代优化提示指令和上下文示例,提升大型语言模型(LLMs)在特定任务中的表现。本文详细介绍了 PromptWizard 的主要功能、技术原理以及如何运行该框架。
90 8
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
|
2月前
|
运维 Ubuntu Linux
自动化运维:使用Ansible简化日常任务
在快节奏的IT世界中,时间就是一切。本文将揭示如何通过Ansible这一强大的自动化工具来节省宝贵的时间,从而提高效率和减少人为错误。我们将深入探讨Ansible的核心概念、安装过程以及如何编写简单的playbook来自动执行常见运维任务。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供实用的知识和技能,让你能够更好地控制你的服务器环境。
|
2月前
|
运维 监控 网络安全
自动化运维的崛起:如何利用Python脚本简化日常任务
【10月更文挑战第43天】在数字化时代的浪潮中,运维工作已从繁琐的手工操作转变为高效的自动化流程。本文将引导您了解如何运用Python编写脚本,以实现日常运维任务的自动化,从而提升工作效率和准确性。我们将通过一个实际案例,展示如何使用Python来自动部署应用、监控服务器状态并生成报告。文章不仅适合运维新手入门,也能为有经验的运维工程师提供新的视角和灵感。
|
2月前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【10月更文挑战第36天】在数字化时代,运维工作的效率和准确性成为企业竞争力的关键。本文将介绍如何通过编写Python脚本来自动化日常的运维任务,不仅提高工作效率,还能降低人为错误的风险。从基础的文件操作到进阶的网络管理,我们将一步步展示Python在自动化运维中的应用,并分享实用的代码示例,帮助读者快速掌握自动化运维的核心技能。
101 3
|
2月前
|
运维 监控 Linux
自动化运维:如何利用Python脚本优化日常任务##
【10月更文挑战第29天】在现代IT运维中,自动化已成为提升效率、减少人为错误的关键技术。本文将介绍如何通过Python脚本来简化和自动化日常的运维任务,从而让运维人员能够专注于更高层次的工作。从备份管理到系统监控,再到日志分析,我们将一步步展示如何编写实用的Python脚本来处理这些任务。 ##
|
3月前
|
运维 监控 网络安全
自动化运维的魔法:如何用Python简化日常任务
【10月更文挑战第9天】在数字时代的浪潮中,运维人员面临着日益增长的挑战。本文将揭示如何通过Python脚本实现自动化运维,从而提高效率、减少错误,并让运维工作变得更具创造性。我们将探索一些实用的代码示例,这些示例将展示如何自动化处理文件、监控系统性能以及管理服务器配置等常见运维任务。准备好让你的运维工作升级换代了吗?让我们开始吧!