【导读】
在熟悉puppet过程中,我们可以了解到puppet管理各种资源,像常用的file,service,,user,group等,本次是sky是给大家讲下puppet运维自动化之schedule管理,schedule英文单词的意思是调度,计划安排,sky想到这就想起crontab,在linux中大家都知道,crontab可以调度,进行计划安排,那schedule和cron有啥不同,为什么puppet管理中有schedule和cron资源呢?
【schedule 参数说明】
schedule 调度puppet运行时间。
参数说明:
name 名称:
period 时间安排,可以是按小时,天,周,月。注意在设置了periodmatch的下,有效值可以为hourly, daily, weekly, monthly, never.
periodmatch 时间匹配,有效值为number, distance.
range 时间范围
repeat 重复次数,默认为1,且必须为整数.
puppet schedule 参数就这么多,比较简单,puppet shcedule参数就介绍完了,
接下来sky就写了个简单代码示例:
【schedule 代码示例】
schedule { "test-by-sky": period => daily, range => [ "10:00-12:00"], repeat => 1, } exec { "/bin/echo test by sky hello everyone!": schedule => "test-by-sky", }
【schedule 总结】
使用puppet schedule可以安理安排puppet的运行时间,在回到导读的那些问题上来,看了上面的代码,再想想,puppet管理cron资源之间有啥差异不?
看下puppet cron代码示例:
cron { ntpdate: command => "/usr/sbin/ntpdate 192.168.0.1&&/sbin/clock -w", user => root, minute =>'*/5', require => Package["crontabs"]; }
我们从中可以看出些什么,schedule是个安排计划,还得有具体的执行人去执行,而cron会生成crontab文件,由系统crontab运行,cron主要是用来做系统相关操作上的调度,用得比较多,schedule也可以做到,当然这两个都可以安排计划,具体是要用cron还是schedule仁者见仁,智者见智。