架构如下
============================
manifests
============================
1,at /etc/puppet/mainfests
------------------
site.pp
+++++++++
import "modules.pp"
import "nodes/*.pp"
-------------------------------
2,at /etc/puppet/manifests/
nodes
-------------------
node_master.pp
++++++++
node 'master.puppet.com' {
include cron
}
---------------------------------------------
3,at /etc/puppet/mainfests
---------------------
modules.pp
++++++++++++
import "cron"
===================================
modules
===================================
1,at /etc/puppet/modules/cron/manifests
------------------------------
init.pp
++++++++++++
class cron {
case $operatingsystem {
centos:{
include cron::base
include cron::crontabs
include cron::addcron
}
}
}
-------------------------------
base.pp
++++++++++++++++
class cron::base {
package { "cron":
name => $operatingsystem ?{
centos => "vixie-cron"
},
ensure => present
}
service {"crond":
name => $operatingsystem ?{
centos => "crond"
},
ensure => running,
enable => true,
pattern => cron,
require => package["cron"]
}
}
------------------------------
crontabs.pp
+++++++++++++++
class cron::crontabs {
package { "crontabs":
name => $operatingsystem ?{
centos => "crontabs"
},
ensure => present
}
}
---------------------------
addcron.pp
+++++++++++++++
class cron::addcron {
cron {"ntpdate the host ip":
command => "/usr/sbin/ntpdate xxx.xxx.xxx.xxx",
user => root,
hour => "*/1"
}
}
下一篇:lnmp模块的编写
转载于:https://blog.51cto.com/tntdba/1144705