资源

资源的定义

一个帐号,一个文件,目录,软件包都可以称作是资源,每个资源的定义都具有标题,类型,以及一些列属性。

常见的资源有notify(调试与输出),file(配置文件),package(软件安装),service(服务管理),exec(执行命令),cron(定时脚本),user,group.

属性介绍:

Require:require引用的对象执行之后该资源才可被应用

Notify:当资源对象改变的时候,通知某个资源进行更新

定义一个用户的属性:

vim /etc/puppet/manifests/site.pp

解析:ensure:默认属性,创建用户用present,删除用户用absent.

Shell:登录时指定shell,shell是必须存在且可执行的

定义个一个用户的属性:

group { "mimi":
ensure=>present,
gid=>900,
allowupdate=>false, }

解析:allowupdate:默认为false,允许使用同一gid。

软件的安装:

自动安装部署vsftpd服务

注意:vsftpd.conf文件的默认权限是600.需要把权限改为644.让puppet有读的权限。require引用的对象执行之后该资源才可被应用

Notify:当资源对象改变的时候,通知某个资源进行更新。重新上传vsftpd的配置文件后重启服务

解析:如果要安装多个软件包,可以将软件包写成数组端的形式

文件管理i

向客户端创建文件:

向客户端创建目录:

让客户端拷贝自身文件

向客户端上传文件并修改权限:

服务管理:

定时脚本

假设每天早上6点执行输出update到/tmp/time1

Cron {
‘echo’:
Command=>”/bin/echo `uptime`>> /tmp/time”,
User=>root,
Hour=>6,
Minute=>0 }

每分钟执行1次

假设每两个小时执行一次

假设晚上11点到早上8点之间每两个小时执行一次,以及早上8点执行一次

执行命令:

加压文件至/tmp下,如果‘/tmp/myfile不存在,则执行exec命令,如果文件存在则不执行

解析:creates:指定命令生成的文件,文件加不存在时执行

Cwd:指定命令执行的当前目录

Path:执行命令的搜索路径,可以采用全路径分组,使用冒号 分割

当文件返回为0时exec资源才会被执行

解析:onlyif 参数中设置的命令返回0时才执行,即参数成功执行以后才执行

文件的挂载

vim /etc/puppet/manifests/site.pp
18 package {
19 "nfs-utils":
20 ensure => present
21 }
22 file {
23 "/public":
24 ensure => directory
25 }
26 mount {
27 "/public":
28 device => "172.25.7.250:/var/ftp/pub",
29 fstype => "nfs",
30 options => "defaults",
31 ensure => mounted
32 }

puppet之资源的更多相关文章

  1. 自动化运维工具之Puppet常用资源(一)

    前文我们聊到了puppet的架构,单机模型和master/agent模型的工作流程以及puppet的基础使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14 ...

  2. 自动化运维工具之Puppet常用资源(二)

    前文我们了解了部分puppet的资源的使用,以及资源和资源的依赖关系的定义,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14071459.html:今天我们继 ...

  3. puppet(2)-资源介绍

    puppet- 资源介绍: 类型.属性与状态同实现方式分离.仅指定目标状态 type {'title': attribute => value, ... } 查看支持的资源类型: puppet ...

  4. Puppet file资源使用

    1.文件管理介绍:          可管理的项目: 支持文件和目录 设置文件及目录的所有者及权限 恢复文件(包括文件的内容.权限及所有者) 清理目录以及子目录 2. 可使用参数: ensure :指 ...

  5. (4)puppet常用的资源及其常用属性

    1.user资源就是用来管理目标服务器上的用户的,比如创建用户.修改用户.删除用户,user资源的常用属性如下 user{'test': ensure => present, uid => ...

  6. (3)puppet清单定义资源的语法

    1.先看两个例子: a.创建一个文件 file{"/tmp/12567.txt": content => aaaaababbau, ensure => present ...

  7. 第一篇puppet

    1,什么是puppet puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppe ...

  8. Puppet权威指南

    <Puppet权威指南>基本信息作者: 王冬生 丛书名: Linux/Unix技术丛书出版社:机械工业出版社ISBN:9787111485988上架时间:2014-12-25出版日期:20 ...

  9. puppet运维配置实列

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABQkAAAGBCAIAAABKMKAEAAAgAElEQVR4nOydeXwU9cH/t2o9WutR+7

随机推荐

  1. 一、基础篇--1.1Java基础-HTTP请求的GET与POST方式的区别【转】

    http://www.cnblogs.com/logsharing/p/8448446.html 转载的这篇文章,很有意思,说的也很全面,学习下,防丢失,备份记录下 GET和POST是HTTP请求的两 ...

  2. Uep的ajaxform和ajaxgrid组件获取数据源

    对于ajaxform组件var record = ajaxform.getRecord();var storeId = record.get("storeId");var stor ...

  3. Vimdiff 使用

    what is vimdiff 在类nuix平台,我们希望对文件之间的差异之间快速定位,希望能够很容易的进行文件合并……. 可以使用Vim提供的diff模式,通常称作vimdiff,就是这样一个能满足 ...

  4. hive跑mapreduce报java.lang.RuntimeException: Error in configuring object

    写于2016.7月 最近项目需要在hbase上做统计分析,在本机上装了hive,结果跑小批量数据sum时报错: hive> select count(*) from page_view; Tot ...

  5. LoadRunner运行时异常处理

    VuGen提供了错误处理函数lr_continue_on_error,用来在脚本中实时修改Vuser的出错设置.lr_continue_on_error函数语法结构如下: Loadrunner在运行过 ...

  6. cocoapods [!] Unable to find a pod with name, author, summary, or description matching `xx`

    pod search MJRefresh的时候报错 [!] Unable to find a pod with name, author, summary, or description matchi ...

  7. dapper使用时性能优化

    数据库中类型 Area 数据库类型 varchar dapper 来操作数据库,不能直接写 sql      Area=@Area)   //dapper 对C#中的字符串类型 默认是对应数据库nva ...

  8. LeetCode.942-DI字符串匹配(DI String Match)

    这是悦乐书的第361次更新,第388篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第223题(顺位题号是942).给定仅包含I(增加)或D(减少)的字符串S,令N = S ...

  9. 剑指Offer总结——用两个栈实现队列

    class Solution { public: void push(int node) { stack2.push(node); } int pop() { if(stack1.empty()){ ...

  10. mariadb数据库基础

    1.数据库介绍 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据 ...