ansible cron 模块

ansible cron 模块

概要

  • 使用此模块来管理 crontab 和环境变量条目。此模块允许您创建环境变量和命名的 crontab 条目、更新或删除它们。
  • 管理 crontab 作业时:模块包含一行,其中包含与传递给模块的“名称”相对应的 crontab 条目的描述,供将来的 ansible/module 调用用于查找/检查状态。“name”参数应该是唯一的,更改“name”值将导致创建一个新的 cron 任务(或删除一个不同的任务)。"#Ansible: "
  • 管理环境变量时,不添加注释行,但是,当模块需要查找/检查状态时,它使用“name”参数查找环境变量定义行。
  • 使用 % 等符号时,必须正确转义它们。

参数

parameter(参数)choices/default(选项)comments(注释)
backupyes or no,默认no如果设置了,请在修改crontab之前创建备份。该模块在backup_file变量中返回备份的位置。
cron_file如果指定了该文件,将使用该文件而不是单个用户的crontab。如果这是一个相对路径,它将根据/etc/cron.d进行解释,如果它是绝对的,它通常会是/etc/crontab。要使用cron_file参数,还必须指定use
day默认"*"作业应该运行的月份(1-31、/2等)
disabledyes or no,默认no是否应该在crontab中禁用该作业(注释掉)。只有state=present时才有效。
envyes or no,默认no如果设置了,则管理crontab的环境变量。在crontab上添加了新的变量。Namevalue参数是环境变量的名称和值。
hour默认"*"作业应该运行的时间(0-23、/2等)
insertafter与state=present和env一起使用。如果指定了,环境变量将被插入到指定环境变量的声明之后。
insertbefore与state=present和env一起使用。如果指定了,环境变量将被插入到指定环境变量的声明之前。
job执行的命令,如果设置了env,则为环境变量的值。命令不应该包含换行符。如果需要state=present
minute默认"*"作业应该运行的时间(0-59、/2等)
month默认"*"作业应该运行的月份(1-12,/2,等等)
namecrontab表项的描述,如果设置了env,则是环境变量的名称。如果需要state=absent。如果没有设置name并且state=present,那么无论现有的crontab条目是什么,都会创建一个新的crontab条目。
rebootyes or no,默认no是否应该在重新启动时运行作业。不赞成使用该选项。用户应该使用special_time
special_timeannually or daily or hourly or monthly or reboot or weekly or yearly特殊时间规范昵称。
stateabsent or present,默认present是否确保作业或环境变量存在或不存在。
user需要修改crontab的用户。如果不设置,该参数默认使用root。
weekday默认"*"作业应该运行的星期几(0-6表示周日-周六,*等)

例子

- name: Ensure a job that runs at 2 and 5 exists. Creates an entry like "0 5,2 * * ls -alh > /dev/null"
  cron:
    name: "check dirs"
    minute: "0"
    hour: "5,2"
    job: "ls -alh > /dev/null"

- name: 'Ensure an old job is no longer present. Removes any job that is prefixed by "#Ansible: an old job" from the crontab'
  cron:
    name: "an old job"
    state: absent

- name: Creates an entry like "@reboot /some/job.sh"
  cron:
    name: "a job for reboot"
    special_time: reboot
    job: "/some/job.sh"

- name: Creates an entry like "PATH=/opt/bin" on top of crontab
  cron:
    name: PATH
    env: yes
    job: /opt/bin

- name: Creates an entry like "APP_HOME=/srv/app" and insert it after PATH declaration
  cron:
    name: APP_HOME
    env: yes
    job: /srv/app
    insertafter: PATH

- name: Creates a cron file under /etc/cron.d
  cron:
    name: yum autoupdate
    weekday: "2"
    minute: "0"
    hour: "12"
    user: root
    job: "YUMINTERACTIVE=0 /usr/sbin/yum-autoupdate"
    cron_file: ansible_yum-autoupdate

- name: Removes a cron file from under /etc/cron.d
  cron:
    name: "yum autoupdate"
    cron_file: ansible_yum-autoupdate
    state: absent

- name: Removes "APP_HOME" environment variable from crontab
  cron:
    name: APP_HOME
    env: yes
    state: absent
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值