功能:用来管理 crontab 的,包括添加、删除、更新操作系统的 crontab 任务计划
常用参数:
| 参数 | 说明 |
|---|---|
| name | 计划任务名称 |
| job | 指定计划的任务中需要实际执行的命令或者脚本 |
| user | 指定计划任务属于哪个用户,默认是root用户 |
| state | 指定状态,prsent 表示添加定时任务,也是默认设置,absent 表示删除定时任务 |
| backup | 对已有的任务修改或删除时,是否保存 |
| disabled | 当计划任务有名称时,根据计划任务名称关闭(注释)对应的计划任务 |
| minute | 分钟,取值范围(0-59,*, */2) |
| hour | 小时,取值范围(0-23,,/2) |
| day | 天,取值范围(1-31,,/2) |
| mouth | 月,取值范围(1-12,,/2) |
| weekday | 设置计划任务中周几设定位的值,取值范围(0-6 for Sunday-Saturday, *) |
| cron_file | 如果指定, 使用这个文件cron.d,而不是单个用户crontab |
示例:
[root@master ~]# ansible dong -m cron -a "name='ntpdate' minute=5 hour=1 job='ntpdate ntp.aliyun.com'"
[root@master ~]# ansible dong -m shell -a "crontab -l"
disabled=yes 关闭之前创建的任务[root@master ~]# ansible dong -m cron -a "name='ntpdate' minute=5 hour=1 job='ntpdate ntp.aliyun.com' disabled=yes"
建议:删除和关闭计划任务的时候,把backup=yes一起加上,即使操作错了还有备份
[root@master ~]# ansible dong -m cron -a "name='ntpdate' minute=5 hour=1 job='ntpdate ntp.aliyun.com' state=absent backup=yes"
192.168.169.162 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"backup_file": "/tmp/crontabh5DeZQ", # 备份文件路径
"changed": true,
"envs": [],
"jobs": []
}
192.168.169.161 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"backup_file": "/tmp/crontabP7HnJE", # 备份文件路径
"changed": true,
"envs": [],
"jobs": []
}
[root@master ~]# ansible 192.168.169.162 -m shell -a "cat /tmp/crontabh5DeZQ"
192.168.169.162 | CHANGED | rc=0 >>
#Ansible: ntpdate
#5 1 * * * ntpdate ntp.aliyun.com
disabled=no 启用定时任务[root@master ~]# ansible dong -m cron -a "name='ntpdate' minute=5 hour=1 job='ntpdate ntp.aliyun.com' disabled=no"