• Puppet学习之cron任务的管理


    Puppet学习之cron任务的管理

    一、    Cron任务简介

    计划任务是我们在日常服务器管理工作经中常要涉及的资源之一,那么如果我们有众多的服务器,如何来进行有效、快速的计划任务管理呢(添加、删除、调整计划任务等),作为一个好用的自动化运维工具,puppet能方便地实现对计划任务的有效的管理。

    Puppet cron的任务就是用来安装和管理计划任务。每一个cron资源需要一个command属性和user属性以及至少一个周期属性(hour, minute, month, monthday, weekday)。计划任务的名字不是计划任务的一部分,它是puppet用来存储和检索该资源。假如你指定了一个除了名字其他的都和一个已经存在的计划任务相同,那么这两个计划任务被认为是等效的,并且新名字将会永久地与该计划任务相关联。一旦这种关联建立并写入磁盘之后,你就可以方便的进行计划任务的管理了。可以通过文件的方式来管理计划任务也可以通过计划任务格式来管理计划任务。

    二、    Puppet cron任务参数

    1.         command

    计划任务执行的命令,最好指定命令的完整路径。

    2.         ensure

    定义资源是否存在,也有通过这个参数来删除指定的计划任务。可能的值为presentabsent

    3.         environment

    和这个计划任务有关的环境变量,比如设置PAHT, PATH=/bin:/usr/bin:/usr/sbin

    4.         hour

    指定计划任务X小时运行,如果指定话,值的范围必须设置在0-23之间。

    5.         minute

    指定计划任务在X分钟运行,如果指定话,值的范围必须设置在0-59之间。

    6.         month

    指定计划任务在一年中的X月运行,如果指定话,值的范围必须设置在1-12之间。

    7.         monthday

    指定计划任务在一个月的X天运行,如果指定话,值的范围必须设置在1-31之间。

    8.         name

    指定计划任务的名字,这个名字只是提供给任命做参考,并且

    9.         target

    计划任务的存放位置。

    10.     user

    指定执行计划任务中命令的用户。puppet不会去检查用户是否运行执行计划任务,但是这个用户必须允许执行计划任务。默认的用户为运行puppet的用户。

    11.     weekday

    指定计划任务在一周的X天运行。如果指定话,值的范围必须设置在0-7之间。注意0是表示星期天。

     

    三、    Puupet cron 任务实战

    1.         通过cron格式来管理计划任务

    Ø  首先我们写一个最简单的假话任务来管理我们的服务器上的时间,代码如下:

    cron { ntpdate:

            command => "/sbin/ntpdate asia.pool.ntp.org",

            user    => root,

            hour    => [3,9,14,19],

            minute  => 59

    }

    设置3,9,14,19小时59分的时候进行时间同步,agent从主上同步玩配置以后,会在agent的假话任务中添加如下的内容:

    # Puppet Name: ntpdate

    59 3,9,14,19 * * * /sbin/ntpdate asia.pool.ntp.org

    Ø  将上面的计划任务设置成每十分中运行一次,代码如下:

    cron { ntpdate:

            command => "/sbin/ntpdate asia.pool.ntp.org",

            user    => root,

            minute  => '*/10'

    }

    agent生成的计划任务如下:*/10 * * * * /sbin/ntpdate asia.pool.ntp.org

    Ø  删除时间同步的计划任务,代码如下:

    cron { ntpdate:

            command => "/sbin/ntpdate asia.pool.ntp.org",

            user    => root,

            minute  => '*/10',

            ensure  => "absent";

    }

     

    四、    参考链接

    http://www.mysqlops.com/2011/09/12/puppet-%E8%BF%90%E7%BB%B4%E8%87%AA%E5%8A%A8%E5%8C%96%E4%B9%8Bcron-%E7%AE%A1%E7%90%86.html

    http://docs.puppetlabs.com/references/latest/type.html#cron

  • 相关阅读:
    squid开多端口代理的心得
    用ssh跑pppd(最简单的linuxvpn)
    Asterisk1.2编译与安装
    E1 CE1 PRI BRI T1 的区别
    asterisk卡常见问题(收集整理)
    CCProxy+Eborder开透明代理详细设置(附图文)
    iptables+NAT+squid 透明代理上网实现方案
    asterisk积累命令
    MySQL Cluster的常见问题
    如何配置Silverlight4开发环境
  • 原文地址:https://www.cnblogs.com/feihongwuhen/p/7169801.html
Copyright © 2020-2023  润新知