实例一、文件分发
描述:通过puppet服务端可以向被管理机(客户端)上推送文件,方法是使用file类型的source属性
第一步:南京RHCE认证培训
113:38 2013-11-5
#vi /etc/puppet/fileserver.conf
2
-----------------
3
[files]
4
path /opt/ # 设置文件推送到目录
5
allow 192.168.133.0/24 # 设置准许连接到服务端的主机地址
第二步:南京RHCE培训
1
#vi /etc/puppet/manifests/site.pp
2
--------------------
3
file
4
{ "/opt/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz":
5
source => "puppet://$puppetserver/files/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz",
6
}
7
//设置服务器上/opt目录下的mysql-5.1.49-linux-i686-icc-glibc23.tar.gz为被传送文件
8
//此处"$puppetserver"是Puppet Server端的名称,即hostname,在hosts文件里指定,生产环境下用内部的DNS上作解析 南京RHCE认证培训
第三步: 在客户端执行更新命令
1
#puppetd --test --server server.puppet
实例二、修改文件属性
描述:把客户端的/tmp/dd142/ puppet-2.6.13.tar.gz文件的权限改为puppet用户,并设置权限为666.
第一步:编辑服务端的site.pp
1
#vi /etc/puppet/manifests/site.pp
2
------------------------
3
file
4
{ "/tmp/dd142/puppet-2.6.13.tar.gz":
5
owner => "puppet",
6
group => "puppet",
7
mode => 666,
8
}
第二步:在客户端执行命令
1
#puppetd --test --server server.puppet
实例三、执行shell命令或shell脚本
描述:通过puppet分发执行shell脚本,在客户端的opt目录下新建一目录shelldir.
第一步:编辑服务端的site.pp 南京RHCE认证培训
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
编辑:南京RHCE认证培训