博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SALT.STATES.CRON(states的crontab管理)
阅读量:5360 次
发布时间:2019-06-15

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

salt.states.cron.present(name, user='root', minute='*', hour='*', daymonth='*', month='*', dayweek='*', comment=None, commented=False, identifier=False, special=None)

以上的是cron模块present的使用方式,里面包含了支持的参数,具体的crontab系统定时任务使用方法可在linux系统里面使用man 5 crontab参阅。


 

利用salt对crontab定时任务进行管理,这里就不对crontab的内容格式和用法进行解释。

示例:

1 date > /tmp/crontest:        2   cron.present:3     - user: root    #指定cron任务的用户4     - minute: 75     - hour: 2

执行之后在minion端生成的信息如下:

# Lines below here are managed by Salt, do not edit #提示信息
# SALT_CRON_IDENTIFIER:date > /tmp/crontest #crontab的名称标识符,每一个crontab都会有这样的一个标识符
7 2 * * * date > /tmp/crontest #按照cron任务添加指定的格式,可使用identifier参数修改标识符内容

各参数支持的一些形式:

- minute: '*/5' #间隔方式

- minute: random #随机方式
- special: '@hourly' #指定特殊的执行方式,是一种比较简洁的方式,可以指定reboot后执行一次或每天执行一次

1    string            meaning  2    ------           -------  3    @reboot        Run once, at startup.  4    @yearly         Run once a year, "0 0 1 1 *".  5    @annually      (same as @yearly)  6    @monthly       Run once a month, "0 0 1 * *".  7    @weekly        Run once a week, "0 0 * * 0".  8    @daily           Run once a day, "0 0 * * *".  9    @midnight      (same as @daily) 10    @hourly         Run once an hour, "0 * * * *".

salt.states.cron.file(name, source_hash='', source_hash_name=None, user='root', template=None, context=None, replace=True, defaults=None, backup='', **kwargs)

cron模块file提供类似于file.managed的文件功能
示例:

1 foo_crontab:2   cron.file:3     - name: https://mydomain.tld/dir2/foo.txt4     - source_hash: https://mydomain.tld/hashes5     - source_hash_name: ./dir2/foo.txt

使用参数说明:

  name:作为crontab源文件,源文件可以是托管在salt master上也存在于http或ftp网络空间中,如果是托管在master端的话,其书写形式为salt://spam/eggs,如果是网络地址需要提供source_hash参数进行校验。
  source_hash:里面包含指定网络文件的md5值和对应的文件名或路径。 

    例如:acbd18db4cc2f85cedef654fccc4a4d8 foo.txt,如果里面包含很多相似的路径则需要指定source_hash_name参数

    如下: 

1         37b51d194a7513e45b56f6524f2d51f2    ./dir1/foo.txt2         acbd18db4cc2f85cedef654fccc4a4d8    ./dir2/foo.txt3         73feffa4b7f6bb68e44cf984c85f6e88    ./dir3/foo.txt

    这样的情况下可能导致hash值的匹配失败,所以尽量指定source_hash_name值。

  user:指定cron系统任务的用户

  template:支持文件里面的模板支持
  context:重写传递给模板的变量信息
  replace:是否设置为替换,如果设置为False的话,不进行覆盖操作
  defaults:定义模板变量值
  backup:是否启用备份模式


salt.states.cron.absent(name, user='root', identifier=False, special=None, **kwargs)

示例:

1 crontest:2   cron.absent:3     - name: 'date > /tmp/crontest'    #指定是删除的cron任务ID4     - user: root

salt.states.cron.env_absent(name, user='root')

salt.states.cron.env_present(name, value=None, user='root')

 

转载于:https://www.cnblogs.com/solitarywares/p/7701286.html

你可能感兴趣的文章
MySQL中 1305-FUNCTION liangshanhero2.getdate does not exit 问题解决
查看>>
Ctrl+Alt+Down/Up 按键冲突
查看>>
python序列化和json
查看>>
mongodb
查看>>
网格与无网格
查看>>
2018年3月份
查看>>
SSH-struts2的异常处理
查看>>
《30天自制操作系统》学习笔记--第14天
查看>>
LGPL协议的理解
查看>>
1、Python基础
查看>>
Unity The Tag Attribute Matching Rule
查看>>
试着理解下kvm
查看>>
WebService学习总结(二)--使用JDK开发WebService
查看>>
Tizen参考手机RD-210和RD-PQ
查看>>
竞价广告系统-位置拍卖理论
查看>>
策略模式 C#
查看>>
[模板]树状数组
查看>>
[HDU 6447][2018CCPC网络选拔赛 1010][YJJ's Salesman][离散化+线段树+DP]
查看>>
设计模式学习的好方法
查看>>
感谢Leslie Ma
查看>>