RHCE-B16.编写playbook创建cron计划任务

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHCE-B16.编写playbook创建cron计划任务相关的知识,希望对你有一定的参考价值。

红帽RHCE考试下午-RHCE(RH294)

RH294任务概览

  • 考试时间4个小时,6台虚拟机,15道题
  • 原来通过脚本或者集群做的题现在都需要使用playbook实现
  • 考试时大概有6台虚拟服务器,都已经做好了互相的免密
  • 做题在ansible控制节点workstation做,但是需要去其他虚拟服务器进行验证
  • 考试时需要将6台虚拟服务器在考试环境全部开启,物理机界面点击左侧按钮启动
  • 考试时Ansible所有playbook都放在普通用户目录中且都以普通用户执行
  1. 注意:考试时一定注意要求将playbook放在指定用户的家目录中,用指定的用户登录做题!
  2. 注意:考试的判分方式通过普通用户远程执行指定目录下的playbook或者脚本,如果使用root做题,则没有权限就是零分

16.编写playbook创建cron计划任务

  • 编写名cron.yml的playbook,在指定主机组servera上运行
  • 这道题playbook叫什么名字不重要啊,反正都是复制,指定的主机组还是要看准了的

任务要求

  1. 基于student用户创建cron任务
  2. 每隔两分钟执行logger “hello rhce”

注意:住过是其他时间,就帮助里找阐述就行了

准备个工作

  • 考试期间不需要做

完成步骤

  • 使用cron模块来编写这个任务,不会可以查帮助啊
    ansible-doc cron
---
- name: cron
  hosts: servera
  tasks:
    - name:
      cron:
        name: "check dirs"
        minute: "*/2"
        job: 'logger "hello rhce"'
        user: student
  • 运行脚本
    ansible-playbook cron.yml
  • 登录到知道你过的主机组检车任务成没成
    crontab -lu student

考察的知识点

ansible cron计划任务模块

  • cron 模块管理远程主机中的计划任务,功能相当于 crontab 命令。
  • 支持时间:minute,hour,day,month,weekday

    name:指定任务名称,可以根据任务名称修改或删除对应的任务;搭配state使用
    state:设置计划任务的状态,默认present(添加)、absent(移除)
    job:要执行的任务,依赖于state=present
    minute:指定分钟,minute=1|1,2,3|/1|;默认是 "*" 每分钟
    hour:指定小时
    day:指定日
    month:指定月
    weekday:指定周几
    special_time:reboot|yearly|monthly|weekly|daily|hourly,都未指定时表示每分钟执行
    user:指定计划任务属于哪个用户,默认管理员用户
    disabled:注释计划任务,使其失效;但是一定要写全原任务的name,minute,hour,month,weekday,job,如果不一样,则是修改原计划任务内容
    backup:backup=yes表示修改或删除对应计划任务时,会先进行备份,备份路径/tmp/crontab+随机字符
    cron_file:如果指定该选项,则用该文件替换远程主机上的cron.d目录下的用户的任务计划
#创建任务
ansible 10.0.0.8 -m cron -a 'hour=2 minute=30 weekday=1-5 name="backup mysql" job=/root/mysql_backup.sh'
ansible websrvs -m cron -a "minute=*/5 job='/usr/sbin/ntpdate ntp.aliyun.com &>/dev/null' name=Synctime"
#禁用计划任务
ansible websrvs -m cron -a "minute=*/5 job='/usr/sbin/ntpdate 172.20.0.1 &>/dev/null' name=Synctime disabled=yes"
#启用计划任务
ansible websrvs -m cron -a "minute=*/5 job='/usr/sbin/ntpdate 172.20.0.1 &>/dev/null' name=Synctime disabled=no"
#删除任务
ansible websrvs -m cron -a "name='backup mysql' state=absent"
ansible websrvs -m cron -a 'state=absent name=Synctime'

以上是关于RHCE-B16.编写playbook创建cron计划任务的主要内容,如果未能解决你的问题,请参考以下文章

RHCE-B11. 利用playbook创建 Web 内容目录并能够访问

RHCE-B11. 利用playbook创建 Web 内容目录并能够访问

RHCE-B8. 利用playbook在指定主机组创建和使用逻辑卷

RHCE-B8. 利用playbook在指定主机组创建和使用逻辑卷

RHCE-B3. 创建playbook安装 php 和 mariadb 软件包到指定主机组

RHCE-B12. 利用playbook生成所有清单主机指定硬件信息报告