架构如下

 

puppet系列之cron模块_第1张图片

 

============================
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模块的编写