实例一、文件分发
描述:通过puppet服务端可以向被管理机(客户端)上推送文件,方法是使用file类型的source属性

第一步:#vi /etc/puppet/fileserver.conf  
1    [files]
2    path /opt/              # 设置文件推送到目录
3    allow 192.168.133.0/24  # 设置准许连接到服务端的主机地址

第二步:vi /etc/puppet/manifests/site.pp
1    file
2    { "/opt/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz":
3    source => "puppet://$puppetserver/files/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz",
4    }  
5    //设置服务器上/opt目录下的mysql-5.1.49-linux-i686-icc-glibc23.tar.gz为被传送文件
6    //此处“$puppetserver”是Puppet Server端的名称,即hostname,在hosts文件里指定,生产环境下用内部的DNS上作解析

第三步:
在客户端执行更新命令
1    #puppetd --test --server server.puppet

实例二、修改文件属性

描述:把/tmp/dd142/ puppet-2.6.13.tar.gz文件的权限改为puppet用户,并设置权限为666。

第一步:编辑服务端的site.pp
vi /etc/puppet/manifests/site.pp
------------------------------------------------------
1    file
2    { "/tmp/dd142/puppet-2.6.13.tar.gz":
3    owner => "puppet",
4    group => "puppet",
5    mode => 666,
6    }

第二步:在客户端执行命令
1    #puppetd --test --server server.puppet

实例三、执行SHELL命令或shell脚本
描述:通过puppet分发执行shell脚本,在客户端的opt目录下新建一目录shelldir。

第一步:编辑服务端的site.pp
1    vi /etc/puppet/manifests/site.pp
2    ---------------------------------------------
3    exec { "exec-mkdir":
4    cwd => "/opt",      //切换到命令行运行时目录
5    command => "sh /opt/lgh.sh",
6    user => "root",
7    path => "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin",
8    }

第二步:在客户端编辑上一步command路径中指定的shell脚本,例如
1    vi /opt/lgh.sh
2    ---------------------------------------------
3    #!/bin/bash
4    mkdir /opt/shelldir

第三步:在客户端执行命令
1    # puppetd --test --server server.puppet

在/opt目录下查看shelldir目录有没有建立。

实例四、cron计划任务
描述:接上面的shell程序实例,在17:30执行/opt/lgh.sh。

第一步:编辑服务端的site.pp
1    vi /etc/puppet/manifests/site.pp
2    ---------------------------------------------
3    cron { "cron-shell": #title部分,可用来作为注释。
4    command => "sh /opt/lgh.sh" #要执行的命令
5    user => "root", #添加到root用户下的crontab中
6    minute => "30", #即第一个星号
7    hour => "17" #即第二个星号
8    }

第二步:在客户端执行命令
puppetd --test --server server.puppet

然后在客户端使用#crontab -l查看效果

1    [root@client ~]# crontab -l
2    # HEADER: This file was autogenerated at Mon Nov 04 16:56:25 +0800 2013 by puppet.
3    # HEADER: While it can still be managed manually, it is definitely not recommended.
4    # HEADER: Note particularly that the comments starting with 'Puppet Name' should
5    # HEADER: not be deleted, as doing so could cause duplicate cron jobs.
6    # Puppet Name: cron-shell
7    30 17 * * * sh /opt/lgh.sh

实例五、服务检查及状态修改
    描述:可以通过puppet对一些服务进行检查。puppet是通过service命令操作的。所以,只能针对在/etc/init.d/目录下的服务

实例:把客户端的防火墙起来

第一步:编辑服务端的site.pp
vi /etc/puppet/manifests/site.pp
----------------------------------------------
service
{ iptables:
ensure => "running",
}

第二步:在客户端执行命令
puppetd --test --server server.puppet

puppet案例的更多相关文章

  1. 51cto运维培训课程

    线路图: Linux运维架构师 基础提高篇(120课时) 基础提高篇(240课时) Linux系统基础及系统管理 Shell编程入门及进阶 linux安全管理和企业级安全防范策略 企业级集群/存储专题 ...

  2. puppet应用案例

  3. 运维自动化工具---Puppet

    案例环境:-----------------------------------------------------------------主机  操作系统   IP地址  主要软件--------- ...

  4. Puppet权威指南

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

  5. puppet的配置

    1时间问题 agent与master端务必要保持时间的一致性,最好使用ntp服务 检查ntp服务是否安装 [root@master-elk ~]# rpm -qa|grep ntp ntpdate-. ...

  6. Puppet

    一个完整的自动化运维包括系统安装.配置管理.服务监控三个方面.那今天咱们大家一起来学习一下Puppet实际运维中的案例.仅供参考,欢迎大家提更多的意见! 一.应用背景 某公司新到500台服务器,需要安 ...

  7. Puppet的搭建和应用

    Puppet的部署与应用 1. 案例概述 作为一名系统管理员,维护服务器正常运行是最基本的职责,在管理几台到几十台服务器时,大部分管理员喜欢自己写小工具来维护,但随着服务器的数量曾多,任务量也逐渐增多 ...

  8. Puppet file资源使用

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

  9. puppet自动化运维

    Puppet实现自动化运维 一.案例分析 1.案例概述: 随着服务器数量的增多,系统管理员任务量也逐渐增加,这时就需要简洁的.强大的框架来完成系统管理任务为实现这一目的,我们将引入一批工具,这批工具是 ...

随机推荐

  1. css3 图标上下移动动画

    @-webkit-keyframes bird{ 0% { -moz-transform: translate(0,0); -webkit-transform: translate(0,0); -o- ...

  2. 使用text-overflow:ellipsis对溢出文本显示省略号有两个好处

    使用text-overflow:ellipsis对溢出文本显示省略号有两个好处,一是不用通过程序限定字数:二是有利于SEO.需要使用对对溢出文本显示省略号的通常是文章标题列表,这样处理对搜索引擎更友好 ...

  3. BZOJ 1682: [Usaco2005 Mar]Out of Hay 干草危机

    Description 牛们干草要用完了!贝茜打算去勘查灾情. 有N(2≤N≤2000)个农场,M(≤M≤10000)条双向道路连接着它们,长度不超过10^9.每一个农场均与农场1连通.贝茜要走遍每一 ...

  4. Oracle---->基本DDL

    修改表名: rename table_name1 to table_name2; delete [from] persons where lastname= 'Wilson';

  5. 周末“干活”之 Mesos Meetup

    周末两天都是大雾霾天,作为运营也不能在家宅,告别了技术就得腿儿勤点儿. 非常感谢 Linker 的 Sam Chen 和 数人科技 的 CTO 共同组织的Mesos Meetup,OneAPM 最帅的 ...

  6. Integer.valueOf与Integer.parseInt的小疑惑

    参考博客: http://www.importnew.com/9162.html 测试代码如下: public class Main { /** * 备注:结果跟你的JDK版本有关系: * * 我的是 ...

  7. 李洪强iOS开发之-PCH文件的配置

    pch 可以用来存储共享信息,比如设备屏幕的宽度,高度.版本号等等 公用信息 Xcode 老版本会自动为我们创建pch文件,新版本开始不自动创建了,如果需要使用可以自己手动创建 创建完成后可以在里面定 ...

  8. easyui源码翻译1.32--Form(表单)

    前言 使用$.fn.form.defaults重写默认值对象下载该插件翻译源码 form提供了各种方法来操作执行表单字段,比如:ajax提交, load, clear等等.当提交表单的时候可以调用va ...

  9. SPRING IN ACTION 第4版笔记-第六章RENDERING WEB VIEWS-006- 使用thymeleaf(TemplateResolver、SpringTemplateEngine、ThymeleafViewResolver、th:include、th:object、th:field="*{firstName}")

    一.在Spring中使用thymeleaf的步骤 1.配置 In order to use Thymeleaf with Spring, you’ll need to configure three ...

  10. UAC新解(有非正常手段可以绕过)

    360第一次注册是需要弹,可是以后就不弹了开机自启动不弹框,开机自启动不弹框 服务是system权限再说一句,一般程序也不需要过UAC系统启动项白名单.UAC有一个白名单机制.还有UAC也可以通过wu ...