SALT.STATES.CRON(states的crontab管理)

Posted 孤独的海浪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SALT.STATES.CRON(states的crontab管理)相关的知识,希望对你有一定的参考价值。

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: 7
5     - 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.txt
4     - source_hash: https://mydomain.tld/hashes
5     - 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.txt
2         acbd18db4cc2f85cedef654fccc4a4d8    ./dir2/foo.txt
3         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任务ID
4     - user: root

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

 

以上是关于SALT.STATES.CRON(states的crontab管理)的主要内容,如果未能解决你的问题,请参考以下文章

Lua 调用的 C 函数保存 state 的两种方式: Storing State in C Functions 笔记

C/C++ 全局变量唯一性?

[_], ... .?- length(X,N), path( state(on(c,on(b,on(a,void))), void, void), state(void, void, on(c,on

《C程序设计语言》练习

请问一下在C/C++中,fscanf(stdin, "%ld", &state);是啥意思?

Lua与C/C++交互