在水一万 发表于 2018-8-2 10:57:44

puppet项目之crond与时间同步配置篇

  puppet项目实施计划之(crond与时间同步配置篇)
  用puppet管理cron,可以为N台服务器批量添加cron作业。如定时同步时间服务器的脚本。
  一、服务端
  服务端操作
  1、编写脚本,建创目录结构
  cd/etc/puppet
  midair-p modules/cron/manifests/
  2、vi addcron.pp
  classcron::addcron {
  cron { ntpdate:
  command =>"/usr/sbin/ntpdate pool.ntp.org",
  user => root,
  hour => '0',
  minute => '0'
  }
  }
  3、编写base.pp
  功能说明:安装cron包并启动服务
  vibase.pp
  classcron::base {
  package { cron:
  name => $operatingsystem ? {   #facter
  ubuntu    => "cron",
  debian    => "cron",
  redhat    => "cron",
  centos    => "cron",
  },
  ensure => present,
  }
  service { crond:
  name => $operatingsystem ? {             ubuntu=> "cron",
  debian=> "cron",
  redhat=> "crond",
  centos=> "crond",
  },
  ensure => running,
  enable => true,
  pattern => cron,
  require =>Package["cron"],
  }
  }
  4、编写crontabs.pp
  功能说明:安装crontabs包
  vicrontabs.pp
  classcron::crontabs {
  package { crontabs:
  name => $operatingsystem ? {
  redhat => "crontabs",
  centos=> "crontabs",
  },
  ensure => present,
  }
  }
  5、编写init.pp
  功能说明:初始化文件
  viinit.pp
  classcron {
  case $operatingsystem {
  centos: {
  include cron::base
  include cron::crontabs
  include cron::addcron
  }
  redhat: {
  include cron::base
  include cron::crontabs
  include cron::addcron
  }
  debian: { include cron::base }
  ubuntu: { include cron::base }
  freebsd: { }
  }
  }
  6、编写主manifests文件实现让客户端安装cron和添加一条crontab作业。
  cd/etc/puppet/mainfests
  vi modules.pp    #加载cron模块
  import"cron"
  vinodes.pp      #客户端节点管理文件
  node'client176.puppet.com'{
  include cron
  }
  visite.pp       #加载modules.pp 和nodes.pp
  import"modules.pp"
  import"nodes.pp"
  二、客户端
  1、在客户端连接服务器,看能否同步
  # puppet agent --server master.kylinyunwei.com --test
  notice:Ignoring --listen on onetime run
  info:Caching catalog for agent.kylinyunwei.com
  info:Applying configuration version '1414049769'
  err:/Stage/Cron::Base/Package/ensure: change from absent to presentfailed: Execution of '/usr/bin/yum -d 0 -e 0 -y install cron' returned 1:Error: Nothing to do
  notice:/Stage/Cron::Base/Service: Dependency Package has failures:true
  warning:/Stage/Cron::Base/Service: Skipping because of failed dependencies
  notice:/Stage/Cron::Addcron/Cron/ensure: created
  notice:Finished catalog run in 1.27 seconds
  出现created则为成功
  2、在客户端查看计划任务
  # crontab -l
  #HEADER: This file was autogenerated at Thu Oct 23 15:36:12 +0800 2014 bypuppet.
  #HEADER: While it can still be managed manually, it is definitely notrecommended.
  #HEADER: Note particularly that the comments starting with 'Puppet Name' should
  #HEADER: not be deleted, as doing so could cause duplicate cron jobs.
  #Puppet Name: ntpdate
  1*/4 * * * /usr/sbin/ntpdate time-b.timefreq.bldrdoc.gov
  3、出现如上所示则说明成功同步,可以看到客户端的crontab改变了。
页: [1]
查看完整版本: puppet项目之crond与时间同步配置篇