关注于系统高可用、网站架构
分类: LINUX
2012-07-13 14:05:16
第二步: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,
}