puppet案例
实例一、文件分发
描述:通过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案例的更多相关文章
- 51cto运维培训课程
线路图: Linux运维架构师 基础提高篇(120课时) 基础提高篇(240课时) Linux系统基础及系统管理 Shell编程入门及进阶 linux安全管理和企业级安全防范策略 企业级集群/存储专题 ...
- puppet应用案例
- 运维自动化工具---Puppet
案例环境:-----------------------------------------------------------------主机 操作系统 IP地址 主要软件--------- ...
- Puppet权威指南
<Puppet权威指南>基本信息作者: 王冬生 丛书名: Linux/Unix技术丛书出版社:机械工业出版社ISBN:9787111485988上架时间:2014-12-25出版日期:20 ...
- puppet的配置
1时间问题 agent与master端务必要保持时间的一致性,最好使用ntp服务 检查ntp服务是否安装 [root@master-elk ~]# rpm -qa|grep ntp ntpdate-. ...
- Puppet
一个完整的自动化运维包括系统安装.配置管理.服务监控三个方面.那今天咱们大家一起来学习一下Puppet实际运维中的案例.仅供参考,欢迎大家提更多的意见! 一.应用背景 某公司新到500台服务器,需要安 ...
- Puppet的搭建和应用
Puppet的部署与应用 1. 案例概述 作为一名系统管理员,维护服务器正常运行是最基本的职责,在管理几台到几十台服务器时,大部分管理员喜欢自己写小工具来维护,但随着服务器的数量曾多,任务量也逐渐增多 ...
- Puppet file资源使用
1.文件管理介绍: 可管理的项目: 支持文件和目录 设置文件及目录的所有者及权限 恢复文件(包括文件的内容.权限及所有者) 清理目录以及子目录 2. 可使用参数: ensure :指 ...
- puppet自动化运维
Puppet实现自动化运维 一.案例分析 1.案例概述: 随着服务器数量的增多,系统管理员任务量也逐渐增加,这时就需要简洁的.强大的框架来完成系统管理任务为实现这一目的,我们将引入一批工具,这批工具是 ...
随机推荐
- android正在运行进程和后台缓存进程的区别
正在运行的进程:需要占用一定的cpu资源和RAM(内存)空间,多少的话看是什么应用,要消耗一定的电量,影响手机速度等性能. 后台缓存的进程:不需要占用cpu资源,会在RAM中写入一部分数据,当下次打开 ...
- splay学习笔记
伸展树(Splay Tree),也叫分裂树,是一种二叉排序树,它能在O(log n)内完成插入.查找和删除操作.(来自百科) 伸展树的操作主要是 –rotate(x) 将x旋转到x的父亲的位置 voi ...
- js常见事件
1.onblur:(使用在表单元素中,当元素失去焦点的时候执行) 2.onchange:(使用在表单元素中,当某些东西改变是执行) 3.onclick:(鼠标点击一个元素时执行) 4.ondblcli ...
- 自适应网页设计(Responsive Web Design)(转)
随着3G的普及,越来越多的人使用手机上网. 移动设备正超过桌面设备,成为访问互联网的最常见终端.于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页? 手机的屏幕比较小,宽度通 ...
- CSS display 属性详解
定义display 属性设置是否及如何显示元素. 继承性: No 说明 这个属性用于定义建立布局时元素生成的显示框类型.对于 HTML 等文档类型,如果使用 display 不 谨慎会很危险,因为可能 ...
- JavaScript函数调用
1. 调用一个函数将暂停当前函数的执行,传递控制权和参数给新函数. 2. 除了声明时定义的形参,每个函数都有两个附加的参数:this和arguments. 1. this在面向对象编程中很重要,它的值 ...
- Javascript与C#相互调用
javascript调用C#代码 前台js调用后台代码方法,此方法只适用于后台方法的修饰符为public或protected,如果是其他修饰符会报错. >后台C#代码: protected in ...
- 《暗黑世界GM管理后台系统》部署+功能说明
原地址:http://blog.csdn.net/uxqclm/article/details/11969761 欢迎来到9秒:www.9miao.com 暗黑三国管理后台说明文档 (一)功能描述该后 ...
- 对话 Jessica Hamrick:和 Django 的情缘是我前行的动力
本文出自 Your Django Story 系列,该系列主要突出那些贡献 Django 的女性.点击查看更多,本文系 OneAPM 工程师编译整理. Jess Hamrick 是加州大学伯克利分校心 ...
- IgnoreRoute——注册路由
routes.IgnoreRoute("home/about"); 这句话,当Route遇到Home/About的Url时,这段URL将被忽略. 效果图 需要注意的是这里route ...