Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1441554
  • 博文数量: 77
  • 博客积分: 2104
  • 博客等级: 大尉
  • 技术积分: 2322
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-19 13:21
个人简介

关注于系统高可用、网站架构

文章分类

全部博文(77)

文章存档

2018年(1)

2017年(1)

2015年(4)

2014年(8)

2013年(4)

2012年(12)

2011年(17)

2010年(30)

分类: LINUX

2012-07-13 14:05:16

 1、puppet parser validate site.pp  #检查单个文件
 2、 检查所有.pp文件
 3、Puppet检查模板是否有错误
erb -x -T '-'-P web/templates/cron/cron.erb  |ruby –c
 4、查看puppet所有 配置文件
puppetmasterd –configprint all ##查看所有配置文件
puppet –configprint modulepath  ##查看模块路径
 5、如何查看facter的变量
facter --yaml
6、如何修改连接puppetmaster>的默认时间
vim /etc/puppet/puppet.conf
runinterval =1800 ###默认是30分钟,可以修改此处的值,单位为秒
7、 puppet 如何全客户端自动签名.
vim /etc/puppet/puppet.conf
 [puppetmaster]
 autosign=true       #增加这两行
 autosing=/etc/puppet/autosign.conf  #增加这两行
 添加 * 表示所有,或者添加域名,IP或者网段。举例:b.再编辑 /etc/puppet/autosign.conf
 *
 *.test.com
 192.168.0.1/24
 
 
文件分发:
通过puppet可以向被管理机上推送文件,方法是使用file类型的source属性
1:修改/etc/puppet、fileserver.conf
2:修改/etc/puppet/manifests/ site.pp
实例:要把server服务器上/opt目录下的mysql-5.1.49-linux-i686-icc-glibc23.tar.gz传输至client服务器的/opt目录下,文件名不变。
第一步:Vi /etc/puppet/fileserver.conf
[files]
path /opt/
allow 192.168.133.0/24

第二步:vi /etc/puppet/manifests/site.pp
file
{ "/opt/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz":
source => "puppet://$puppetserver/files/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz",
}

第三步:
在client客户端执行更新命令
puppetd --test --server testsns

此处“$puppetserver”是puppet Server端的名称,即hostname,网上教程都是在hosts里指定,生产环境下用内部的DNS上作解析,像我公司一个www平台就有70台linux服务器,一个个添加hosts,不搞死人去。

修改文件属性:
实例:把/tmp/dd142/ puppet-2.6.13.tar.gz文件的权限改为puppet用户,并设置权限为666。
第一步:编辑Server端的site.pp
vi /etc/puppet/manifests/site.pp
---内容如下
file
{ "/tmp/dd142/puppet-2.6.13.tar.gz":
owner => "puppet",
group => "puppet",
mode => 666,
}
----
第二步:在client端执行命令
puppetd --test --server testsns

执行SHELL命令或shell脚本:
实例:通过puppet分发执行shell脚本,在客户端的opt目录下新建一目录shelldir。
第一步:编辑Server端的site.pp
vi /etc/puppet/manifests/site.pp

exec { "exec-mkdir":
cwd => "/opt",
command => "sh /opt/lgh.sh",
user => "root",
path => "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin",
}
第二步:在client端编辑一shell脚本

第三步:在client端执行命令
puppetd --test --server testsns
在/opt目录下查看shelldir有没有建立。

服务检查及修改:
可以通过puppet对一些服务进行检查。puppet是通过service命令操作的。所以,只能针对在/etc/init.d/目录下的服务
实例:把客户端的防火墙起来(原来是关闭的)
vi /etc/puppet/manifests/site.pp //清空site.pp,再新建

service
{ iptables:
ensure => "running",
}

cron计划任务:
接上面的shell程序实例,在17:30执行/opt/lgh.sh。
cron { "cron-shell": #title部分,可用来作为注释。
command => "sh /opt/lgh.sh" #要执行的命令
user => "root", #添加到root用户下的crontab中
minute => "30", #即第一个星号
hour => "17" #即第二个星号
}
登录客户端查看效果

puppet 管理软件包

 package { "dstat": ensure => "installed" }

ensure
 设置该软件包应该在什么状态. installed 表示要安装该软件,也可以写成present; absent 表示反安装该软件,pureged 表示干净的移除该软件,latest 表示安装软件包的最新版本.

    $packagelist_install = [
                "wget","sysstat","sudo",
        "screen","bzip2","unzip",
        "tree","which","nc",
        "usbutils","lsof","cronolog","iptables","dstat","lrzsz","elinks"]
    package {$packagelist_install:
        ensure => installed,
        }

 

阅读(6057) | 评论(0) | 转发(0) |
0

上一篇:nagios check_http模板

下一篇:ssh 密钥制作

给主人留下些什么吧!~~