博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Puppet cron资源介绍(二十七)
阅读量:6079 次
发布时间:2019-06-20

本文共 5553 字,大约阅读时间需要 18 分钟。

cron资源

主要用来管理操作系统的定时任务(即crontab),之前文章也写过一个cron模块举例,计划任务并非都要使用cron资源,linux下只要将一个文件放置/var/spool/cron目录下其实crontab就会执行,之前的文章也是这样写的.

cron资源属性:

cron { 'resource title':  name        => # (namevar) The symbolic name of the cron job.  This name is   ensure      => # The basic property that the resource should be...  command     => # The command to execute in the cron job.  The...  environment => # Any environment settings associated with this...  hour        => # The hour at which to run the cron job. Optional;   minute      => # The minute at which to run the cron job...  month       => # The month of the year.  Optional; if specified...  monthday    => # The day of the month on which to run the...  provider    => # The specific backend to use for this `cron...  special     => # A special value such as 'reboot' or 'annually'...  target      => # The name of the crontab file in which the cron...  user        => # The user who owns the cron job.  This user must...  weekday     => # The weekday on which to run the command...  # ...plus any applicable metaparameters.}

参数注释:

command:crontab要执行的命令,由于环境变量的问题,建议调用命令时使用绝对路径,或指定cron资源的environment属性.

ensure:指定该资源是否启用,可设置present值表示启用,设置absent值表示关闭.

environment:在crontab环境里指定环境变量,如PATH=/bin:/usr/bin:/usr/sbin.也可以通过:导入更多环境变量.

hour:运行crontab的小时,可设置成0-23,单位是小时.

minute:运行crontab的分钟,可设置为0-59,单位是分钟.

month:设置crontab运行的月份,可设置成1-12,单位是月.

monthday:一个月中的哪一天,可设置成1-31,单位是日.

weekday:运行crontab的星期数,可设置为0-7,单位是天.

name:crontab的注释,注释用于帮助管理员区分不同的crontab.

provider:默认是系统自带的crontab程序,通常不需要指定此参数值,puppet会默认匹配系统自带的定时管理任务程序.

user:将crontab加入某一个系统账号中,默认是加入执行守护进程的系统账户中.

示例一:

定义crontab计划任务同步ntpdate服务器时间.

定义ntpdate类,做计划任务.

class cron::ntpdate {    cron {"ntpdate":        ensure => present,        command => '/usr/sbin/ntpdate 1.cn.pool.ntp.org',        user => 'root',        minute => '*/5',    }}

node节点中添加此计划任务.

node /sh-(proxy|web)\d+/  inherits base {    case $::hostname {        /sh-proxy\d+/: {             include nginx          }         "sh-web1": {            include haproxy            include cron::ntpdate            }         }}

客户端同步ntpdate.

[root@sh-web1 haproxy]# puppet agent -tNotice: Ignoring --listen on onetime runInfo: Retrieving pluginfactsInfo: Retrieving pluginInfo: Loading factsInfo: Caching catalog for sh-web1.localdomainInfo: Applying configuration version '1508433121'Notice: /Stage[main]/Admin/Exec[selinux]/returns: executed successfullyNotice: /Stage[main]/Cron::Ntpdate/Cron[ntpdate]/ensure: createdNotice: Finished catalog run in 0.43 seconds

查看计划任务.

[root@sh-web1 haproxy]# crontab -l# HEADER: This file was autogenerated at Fri Oct 20 01:12:02 +0800 2017 by puppet.# HEADER: While it can still be managed manually, it is definitely not recommended.# 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*/5 * * * * /usr/sbin/ntpdate 1.cn.pool.ntp.org

示例二:

做一个ping计划任务,每天的2,4点执行ping,注意使用"[]".

node /sh-(proxy|web)\d+/  inherits base {    case $::hostname {        /sh-proxy\d+/: {             include nginx          }         "sh-web1": {            include haproxy            include cron::ntpdate            include cron::ping        }     }}

class cron::ping {    cron {"ping":        command => 'ping -c1 www.baidu.com 2>&1 >> /dev/null',        user    => 'root',        hour    => [2, 4],    }}

客户端执行:

[root@sh-web1 haproxy]# puppet agent -tNotice: Ignoring --listen on onetime runInfo: Retrieving pluginfactsInfo: Retrieving pluginInfo: Loading factsInfo: Caching catalog for sh-web1.localdomainInfo: Applying configuration version '1508433611'Notice: /Stage[main]/Admin/Exec[selinux]/returns: executed successfullyNotice: /Stage[main]/Cron::Ping/Cron[ping]/ensure: createdNotice: Finished catalog run in 0.42 seconds

crontab计划任务查看:

[root@sh-web1 haproxy]# crontab -l# HEADER: This file was autogenerated at Thu Oct 19 17:19:52 +0800 2017 by puppet.# HEADER: While it can still be managed manually, it is definitely not recommended.# 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*/5 * * * * /usr/sbin/ntpdate 1.cn.pool.ntp.org# Puppet Name: ping* 2,4 * * * ping -c1 www.baidu.com 2>&1 >> /dev/null

示例三:

执行ping计划任务,每天2-4之间,每隔10分钟执行一次.

class cron::ping {    cron {"ping":        command => 'ping -c1 www.baidu.com 2>&1 >> /dev/null',        user    => 'root',        hour    => ['2-4'],        minute  => '*/10',    }}

客户端更新:

[root@sh-web1 haproxy]# puppet agent -tNotice: Ignoring --listen on onetime runInfo: Retrieving pluginfactsInfo: Retrieving pluginInfo: Loading factsInfo: Caching catalog for sh-web1.localdomainInfo: Applying configuration version '1508433856'Notice: /Stage[main]/Admin/Exec[selinux]/returns: executed successfullyNotice: /Stage[main]/Cron::Ping/Cron[ping]/minute: defined 'minute' as '*/10'Notice: /Stage[main]/Cron::Ping/Cron[ping]/hour: hour changed '2,4' to '2-4'Notice: Finished catalog run in 0.36 seconds

计划任务查看.

[root@sh-web1 haproxy]# crontab -l# HEADER: This file was autogenerated at Thu Oct 19 17:23:56 +0800 2017 by puppet.# HEADER: While it can still be managed manually, it is definitely not recommended.# 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*/5 * * * * /usr/sbin/ntpdate 1.cn.pool.ntp.org# Puppet Name: ping*/10 2-4 * * * ping -c1 www.baidu.com 2>&1 >> /dev/null

转载地址:http://doqgx.baihongyu.com/

你可能感兴趣的文章
DCI:DCI学习总结
查看>>
- Shell - sort处理大文件(页 1) - ChinaUnix.net
查看>>
项目管理--执行过程组
查看>>
数据访问与sql语句的管理(一)
查看>>
前端开发框架
查看>>
风 记忆
查看>>
ARM中的PC和AXD的PC
查看>>
[转]关于ios 推送功能的终极解决
查看>>
C#中使用反射获取结构体实例
查看>>
GCT之语文细节知识
查看>>
【网站国际化必备】Asp.Net MVC 集成Paypal(贝宝)快速结账 支付接口 ,附源码demo...
查看>>
VC中使用GetModuleFileName获取应用程序路径
查看>>
Ecshop 最小起订量如何设置
查看>>
简单JavaScript语句实现搜索关键字高亮功能
查看>>
CentOS 6上安装xfce桌面环境
查看>>
SharedPreferences的工具类
查看>>
屏幕适配那点事
查看>>
nyoj-----幸运三角形
查看>>
C166 Interfacing C to Assembler
查看>>
wcf服务编程(第3版)文摘
查看>>