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都放在普通用户目录中且都以普通用户执行
- 注意:考试时一定注意要求将playbook放在指定用户的家目录中,用指定的用户登录做题!
- 注意:考试的判分方式通过普通用户远程执行指定目录下的playbook或者脚本,如果使用root做题,则没有权限就是零分
16.编写playbook创建cron计划任务
- 编写名cron.yml的playbook,在指定主机组servera上运行
- 这道题playbook叫什么名字不重要啊,反正都是复制,指定的主机组还是要看准了的
任务要求
- 基于student用户创建cron任务
- 每隔两分钟执行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在指定主机组创建和使用逻辑卷