当前位置: 首页 > article >正文

Ansible内置模块之cron

ansible.builtin.cron 模块是Ansible 的内置模块之一,用于在Unix 系统中管理cron 表项。它允许你创建、更新或删除定期执行的任务。

1. 选 项 说 明

选项必须类型默认值说明
namestrcron 任务的描述性名称。这在创建和删除任务时用于标识任务cron 任务的描述性名称。这在创建和删除任务时用于标识任务
minutestr*任务在每小时中的哪一分钟运行。可以是*,*/5,0-59 等
hourstr*任务在一天中的哪小时运行。可以是*,*/2,0-23 等
daystr*任务在一个月中的哪天运行。可以是*,*/2,1-31 等
monthstr*任务在一年中的哪个月运行。可以是*,*/2,1-12 等
weekdaystr*任务在一周中的哪天运行。可以是*,*/2,0-6(0 表示星期天)等
jobstr要执行的命令
statestrpresent任务的状态。可以是 present(存在)或 absent(不存在
userstr执行任务的用户
disabledboolno如果设置为 yes,则任务将被注释掉,相当于禁用任务
cron_filestr指定要修改的 cron 文件。默认修改用户的默认 cron 表
cron_filedict一个字典,包含任务执行时的环境变量
backupboolno如果设置为 yes,则在修改 cron 文件之前创建一个备份文件
insertafterstr在指定的 cron 表项之后插入任务。可以是特定的字符串或正则表达式
insertbeforestr在指定的 cron 表项之前插入任务。可以是特定的字符串或正则表达式
special_timestr特殊时间:reboot,yearly,annually,monthly,weekly,daily,hourly

2. 用 例

# 确保存在一个在2点和5点运行的任务。创建类似于“0 5,2 * * ls -alh > /dev/null”的条目
- name: Ensure a job that runs at 2 and 5 exists. Creates an entry like "0 5,2 * * ls -alh > /dev/null"
  ansible.builtin.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'
  ansible.builtin.cron:
    name: "an old job"
    state: absent

# 创建一个类似于“@reboot /some/job.sh”的条目
- name: Creates an entry like "@reboot /some/job.sh"
  ansible.builtin.cron:
    name: "a job for reboot"
    special_time: reboot
    job: "/some/job.sh"

# 在crontab 顶部创建一个类似于"PATH=/opt/bin" 的条目
- name: Creates an entry like "PATH=/opt/bin" on top of crontab
  ansible.builtin.cron:
    name: PATH
    env: yes
    job: /opt/bin

# 创建一个类似于"APP_HOME=/srv/app" 的条目并插入到PATH 声明之后
- name: Creates an entry like "APP_HOME=/srv/app" and insert it after PATH declaration
  ansible.builtin.cron:
    name: APP_HOME
    env: yes
    job: /srv/app
    insertafter: PATH

# 在/etc/cron.d 下创建一个cron 文件,其中包含一个自动更新任务
- name: Creates a cron file under /etc/cron.d
  ansible.builtin.cron:
    name: yum autoupdate
    weekday: "2"
    minute: "0"
    hour: "12"
    user: root
    job: "YUMINTERACTIVE=0 /usr/sbin/yum-autoupdate"
    cron_file: ansible_yum-autoupdate

# 从/etc/cron.d 下删除一个cron 文件
- name: Removes a cron file from under /etc/cron.d
  ansible.builtin.cron:
    name: "yum autoupdate"
    cron_file: ansible_yum-autoupdate
    state: absent

# 从contab中清除APP_HOME环境变量(如果存在)
- name: Removes "APP_HOME" environment variable from crontab
  ansible.builtin.cron:
    name: APP_HOME
    env: yes
    state: absent

          

Ansible相关文章推荐

  • Ansible 命令行指南

  • Ansible内置模块之file

  • 在RHEL 9上使用Ansible安装GitLab CE

  • 16张PPT让你一小时学会Ansible

  • 一文看懂Ansible自动化运维

  • Ansible内置模块之assemble

  • Ansible内置模块之authorized_key

  • Ansible内置模块之copy

  • 红帽RHCE9.0课程介绍

  • 红帽RHCA云技术课程介绍


http://www.kler.cn/a/542288.html

相关文章:

  • deepseek和chatgpt对比
  • 【编程实践】vscode+pyside6环境部署
  • LVS集群
  • 跨平台开发利器:UniApp 全面解析与实践指南
  • Docker Compose 容器卷映射:是否需要提前将文件拷贝到宿主机?
  • 分层耦合 - IOC详解
  • [特殊字符] 基于 FastAPI 和 React 构建车牌号识别网站
  • C#中的序列化和反序列化
  • 深入与浅出-Python爬虫逆向实战
  • CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测,光伏功率预测
  • 河北某石油管廊自动化监测
  • 利用用个人PC搭建私有大模型(低成本、易实施的私有大模型部署方案,兼顾英语 5G协议学习与实践需求)
  • DeepSeek模型R1服务器繁忙,怎么解决?
  • 分层解耦-三层架构
  • 配置Mysql8读写分离(未完成)
  • 历史性突破!DeepSeek双模型GitHub热度超OpenAI,展现中国AI力量
  • 玩转观察者模式
  • C# 数据验证Regex
  • 【MySQL】我在广州学Mysql 系列—— 数据备份与还原
  • Python的那些事第十五篇:数据分析中的“三剑客”NumPy、Pandas与Matplotlib
  • 【Elasticsearch】 查询性能优化
  • win11 python opencv作图像匹配小结
  • idea插件开发,如何获取idea设置的系统语言
  • Render上后端部署Springboot + 前端Vue 问题及解决方案汇总
  • vscode关闭后如何恢复在远程服务器的终端程序运行界面
  • 无人机图像拼接数据的可视化与制图技术:以植被监测为例