ansible(12)--ansible的cron模块
1. cron模块
功能:管理被控端计划任务;
主要参数如下:
参数 | 说明 |
---|---|
name | 定时任务基本描述 |
job | 定时任务要执行的命令 |
minute | 分 |
hour | 小时 |
day | 日 |
month | 月 |
weekday | 周,0-6 |
disabled | yes:禁用计划任务,no:启用计划任务 |
absent:删除计划任务 |
-
示例一:创建计划任务,每10分钟执行一次同步时间,将此计划任务命名为
synctime
;[root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="synctime" job="ntpdate 192.168.20.1 &> /dev/null" minute=*/10' [root@nginx03 ~]# crontab -l #Ansible: synctime */10 * * * * ntpdate 192.168.20.1 &> /dev/null
-
示例二:添加定时任务, 每天的凌晨2点和凌晨5点执行一次
ls
:[root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="ls" job="ls &> /dev/null" minute=0 hour=2,5' [root@nginx03 ~]# crontab -l #Ansible: synctime */10 * * * * ntpdate 192.168.20.1 &> /dev/null #Ansible: ls 0 2,5 * * * ls &> /dev/null
-
示例三:禁用上面示例的计划任务:
[root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="ls" job="ls &> /dev/null" minute=0 hour=2,5 disabled=yes' [root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="synctime" job="ntpdate 192.168.20.1 &> /dev/null" minute=*/10 disabled=yes' #被控主机被注释掉了 [root@nginx03 ~]# crontab -l #Ansible: synctime #*/10 * * * * ntpdate 192.168.20.1 &> /dev/null #Ansible: ls #0 2,5 * * * ls &> /dev/null
-
示例四:删除上述的计划任务:
[root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="synctime" state=absent' [root@xuzhichao ~]# ansible NginxWebs -m cron -a 'name="ls" state=absent'